首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

【交互探讨】无限滚动还是分页展示,这是个问题!

你天生设计直觉一开始可能会告诉你要忠于老式分页。然而,在您意识到之前,您可能会想无限滚动是否是一个不错选择,因为您拥有非常独特用例。那么无限滚动真的是个好主意吗?...毫无疑问,作为设计师,我们倾向于其他选择:分页和“加载更多”按钮。 分页和“加载更多” 我们可以通过使用分页,来避免无限滚动所产生问题。...不幸是,在可用性测试中,有时分页效果并不好。分页能够让用户感知到未来内容数量,并且易于管理,但与无限滚动相比,效率也下降了许多。...与无限滚动相比,它们查看项目的总数更少,并且参与度较低。 如果我们既想保留分页好处,同时还想避免无限滚动给用户带来不堪重负,我们可以使用“加载更多”模式来代替。...提供以后继续浏览选项。 考虑使用“加载更多”+无限滚动一起。 考虑使用分页+无限滚动一起。 在加载新项目时更改URL,并将其公开给用户。 允许用户跳转到带有分页下拉列表任何页面。

3.1K20

背景无限滚动

这是游戏里面很常用一个功能模块,它就像你生活,有着走不完路程。它实现也很简单,要么做一个很长背景图,然后移动相机;要么就是实现一个跑马灯,像那些轮播图什么,大家应该都有写过。 ?...Infinite_bg_scroll 实现思路 背景无缝切换实现 这个demo实现思路是跑马灯。...背景是两张一样背景图,第一张图在前,第二张图在后,两张图同时移动,当第一张图正好移动到出屏幕时候,第二张图正好移进屏幕,这个时候复原两张图初始位置。这个过程不停循环就有走不完路程了。 ?...但是这样是不够,因为不是所有用户屏幕都是按我们设计分辨率来,所以跑着跑着可能你背景就露馅了 ?...overflow 所以我们在onload时候还是得手动去对齐一下bg2位置,因为它在布局编辑器里面只是往右移动了我们设计分辨率一样宽距离。

1.3K30
您找到你想要的搜索结果了吗?
是的
没有找到

摸鱼新发现,滚动无限滚动

在一次调试过程中,我按下了F12刚好是掘金页面,然后把代码输入到控制台之后,顺手滚动了几下右侧滚动条,发现个问题如下图所示: ? ‍‍‍‍‍‍‍‍‍‍...ElementClass extends Vue {} interface IntrinsicElements { [elem: string]: any } } } Element-ui 无限滚动...首先需要获取滚动位置,即可视区高度和内容区域底部距离可视区页面顶部距离,如果他们相等此时浏览器滚动条当好滚动到页面底部,如果相差是负数说明浏览器滚动条还没有到达页面底部。 ?...,我们就可以触发我们自己需求去调用接口等 优化页面 这里想法是当我们浏览器滚动滚动之后,滚动上去内容不显示在页面上,只显示可视区域,减少页面的负载,先看一下效果 ?...其实无限滚动也简单,就是能不能想到这个点子上,如果想不到那肯定就是天方夜谭了,这里面也有很多不足地方需要改进,欢迎留言探讨和指点,毕竟这里水很深,不小心鞋就湿了。

1.8K40

无限滚动加载最佳实践

无限滚动(Infinite scrolling),有时候被称为无尽滚动(endless scrolling),这种技术允许用户在大量内容上滚动,眼中看不到结束地方。...优秀无限滚动五项原则 将无限滚动做好,并不是不可能完成任务。为了完成它,记住并遵守以下方针。 1....如果屏幕上是滚动内容,用户滚动获取新内容时候,导航条可以隐藏起来;当用户开始往回滚动试图回到顶部时候再显示出来。 ? 2. 如果有页脚,加上“加载更多”按钮 无限滚动阻碍用户访问页脚。...返回按钮将用户待回至之前位置 有时候,无限滚动实现带来一个主要可用性缺陷:滚动位置并未被记录为“状态”。如果用户从列表中链接跳转了,然后点返回按钮,他们希望能回到页面原来相同位置。...结论 无限滚动实现得好的话,可以达到令人难以置信光滑无缝体验。很好是,关于好无限滚动,你已经获得一些线索了,这会帮你建立完美的用户体验。

4.1K20

优雅处理网络数据,你真的会吗?不如看看这篇.

(Cache)和获取图像,来使你 App 具有更高响应速度 无限滚动,无缝加载 提到列表分页,相信大家第一个想到就是 MJRefresh,用于上拉下拉来刷新数据,当滚动数据到达底部时候向服务器发送请求...首先,我先和大家介绍一个概念:无限滚动无限滚动是可以让用户连续加载内容,而无需分页。在 UI 初始化时候 App 会加载一些初始数据,然后当用户滚动快要到达显示内容底部时加载更多数据。...那关于无限滚动该如何实现呢!其实这个无限滚动并不是真正意义上永无止尽,严格意义上来讲它是有尽头,只不过这个功能背后数据是不可估量,只有大量数据做支持才能让应用一直不断从服务端获取数据。...回到我上面所说无限滚动, 其实实现起来并不难,正常情况下,我们向服务端请求大量相同类型数据时候,都会提供一个接口,我称之为分页请求接口,该接口在每次数据返回时候,都会告诉客户端总共有多少页数据,...无限滚动和对数据无缝加载效果,你学会了吗?

1.3K20

让Typecho无限滚动加载方法

据统计,据媒体报道,据各种经验之谈:用户不喜欢点击,更爱滚动!所以,之前挺流行文章分页没有了,沿用了几百年“下一页”也被无限load取代。瀑布流和Twitter更是推动了无限load普及。...这里介绍一个jQuery插件:Infinite AJAX Scroll,通过这个插件能快速实现无限滚动翻页。因为是jQuery所以到处都能用,这里我们以Typecho作为例子。...>"> 第二步为Typecho加上分页 如果看官网文档的话,它会告诉你分页代码用带有数字列表pageNav(); ?>。...jQuery.ias({ container: '#posts', //大容器 item: '.post', //循环容器 pagination: '#pagination', //分页容器...pagination是分页所在容器,就是包裹分页按钮divid或者class next是下一页对应class,就是分页按钮超链接class 如果没有id或者class,就自己加一个。

1.5K20

Android ListView实现无限循环滚动

本文实例为大家分享了Android无限循环滚动具体代码,供大家参考,具体内容如下 因项目需要循环展示列表数据,所以就实现了这个无限循环滚动 LIstView.先说一下原理,原理呢,其实很简单,首先将要展示数据循环展示三遍...监听ListView滚动事件,当ListView滚动到第一遍第第二个时,ListView变自动跳到第二遍第二个,同理,如果ListView滚动到倒数第一个时,ListView自动跳转到第二遍倒数第一个...;//取余展示数据 return convertView; } static class ViewHoler{ TextView tvText; } } 然后实现监听ListView滚动事件...listView.setSelection(firstVisibleItem - list.size()); } } } 就是这么简单,嘿嘿,表达能力有点欠缺,不知到你看懂没,没看懂的话,后面附上源码:Android无限循环滚动...以上就是本文全部内容,希望对大家学习有所帮助。

3K31

iOS开发之UIScrollView无限滚动

UIScrollView 无限滚动主要应用在图片轮播器、欢迎界面等场景。首先需要说明是,文本所讲的是一种"笨办法",但是好理解且容易实现,在图片不多时候用它也无妨。...它原理是在要显示图片前后各加一张图片即在第一张图片之前放最后一张图片,在最后一张图片之后放第一张图片,然后在滚动到边缘时候,巧妙过渡一下就可以"瞒天过海","以假乱真"造成无限滚动假象。...2、代码实现,主要分为:添加UIScrollView,添加显示图片,添加UIPageControl,然后监听UIScrollView滚动,根据滚动位置来设置UIPageControl,最重要是对于滚动到两个边缘时要特殊处理一下...获取当前UIScrollView位置 CGPoint offset = [scrollView contentOffset]; //算出滚动到第几页 int currentPage...图片无限轮播.gif 写在后面的话 其实实现轮播现在最好方案应该是使用UICollectionView,因为它是利用重用机制来实现,性能会好很多,代码写起来类似。

1.6K100

用AutoLayout实现分页滚动

滚动视图分页 UIScrollViewpagingEnabled属性用于控制是否按分页进行滚动。在一些应用中会应用到这一个特性,最典型就是手机桌面的应用图标列表。...容器视图添加N个页视图,对于水平分页滚动来说容器视图高度和滚动视图一样,而宽度则是滚动视图宽度乘以页视图数量,页视图尺寸则和滚动视图保持一致,对于垂直分页滚动来说容器视图宽度和滚动视图一样,而高度则是滚动视图高度乘以页视图数量...每个页视图中在添加各自条目视图。整体效果图如下: ? 分页滚动UI布局 AutoLayout实现分页滚动方法 根据上面的UI结构这里用AutoLayout代码来实现水平分页滚动。...} 下面是运行时效果图: ? 分页滚动 MyLayout实现分页滚动方法 你也可以用MyLayout布局库来实现分页滚动能力。MyLayout布局库是笔者开源一套功能强大UI布局库。...其原因是无论是分页滚动还是不分页滚动,在滚动时都是通过调整滚动视图contentOffset来实现

1.9K40

js滚动加载(无限加载)(转)

实现无限分页过程大致如下: 1 视窗滚动到底部 2 触发加载,添加到现有内容后面。 因此,可能会出现两种情况: 1 当页面的内容很少,没有出现滚动条。 2 当页面的内容很多,出现了滚动条。...针对这两种情况,需要理解几个概念: scrollHeight即真实内容高度; clientHeight比较好理解,是视窗高度,就是我们在浏览器中所能看到内容高度; scrollTop是视窗上面隐藏掉部分...实现思路: 1 如果真实内容比视窗高度小,则一直加载到超过视窗 2 如果超过了视窗,则判断下面隐藏部分距离是否小于一定值,如果是,则触发加载。(即滚动到了底部)

17.4K20

UGUI Scrollrect滚动优化:无限循环利用

mScroll.onValueChanged.AddListener(delegate { WrapContent(); });//添加滚动事件回调...startPos = mTrans.localPosition; } 1.得到显示区域4个顶点世界坐标 2.当产生滚动时,添加滚动委托 2.2 重置滑动面板大小 void UpdateRectsize...(这里是5个) 2.当水平向左滑动时,当GameObject超过可视区最左边,把它放在可视区最右边预备显示位置,如图所示,0号GameObject从最前变为最后。...同时增加滑动面板大小,和0号GameObject信息显示(把0置为5) 3.当水平向右滑动时,当当GameObject超过可视区最右边,把它放在可视区最左边预备显示位置,如图所示,0号GameObject...0号GameObject信息显示(把10置为5)。这样实现无限滚动

21030

Google搜索为什么不能无限分页

当我用Google搜索MySQL这个关键词时候,Google只提供了13页搜索结果,我通过修改url分页参数试图搜索第14页数据,结果出现了以下错误提示:百度搜索同样不提供无限分页,对于MySQL...为什么不支持无限分页强如Google搜索,为什么不支持无限分页?无非有两种可能:做不到没必要「做不到」是不可能,唯一理由就是「没必要」。...其次,无限分页功能对于搜索引擎而言是非常消耗性能。你可能感觉很奇怪,翻到第2页和翻到第1000页不都是搜索嘛,能有什么区别?...实际上,搜索引擎高可用和高伸缩性设计带来一个副作用就是无法高效实现无限分页功能,无法高效意味着能实现,但是代价比较大,这是所有搜索引擎都会面临一个问题,专业上叫做「深度分页」。...为什么拿ES举例子Elasticsearch(下文简称ES)实现功能和Google以及百度搜索提供功能是相同,而且在实现高可用和高伸缩性方法上也大同小异,深度分页问题都是由这些大同小异优化方法导致

1.2K30

记一次 「 无限滚动 」列表优化

每一条sku 对应如下结构: 因为可以选择sku数量是不限, 又不能分页, 只能做到一个列表里。 于是, 长列表出现了。 刚开始方案是做一个虚拟列表。...所以,影响渲染性能元素很可能就是它。 渲染性能 除了组件问题,还有可能是渲染问题。 首先,原来无限滚动逻辑就是基于scroll事件,通过不断滚动触发回调,重新计算渲染到页面上区间。...经过自测,仅仅是使用一个基础Select,rc无限滚动情况下同样发生了卡顿) 2. 下拉懒加载 基于 Intersection Observer 实现一个 下拉懒加载。...file=/index.js 动态演示: 选择方案 要么接受使用rc无限滚动不够流畅; 要么使用 Intersection Observer 实现一个下拉懒加载无限滚动效果 最终采用下拉懒加载。...---- 总结 通常,无限滚动方案可以分为两种: 1.

3.1K20

Vue组件滚动加载、懒加载功能实现,无限滚动加载组件实例演示

效果图如下: 可以看到随着不断滚动,页面组件数量不断加载。 其实加载是后端返回数据,因为涉及隐私,没有给显示出来。 利用懒加载,可以防止大量渲染造成卡顿降低用户体验。...当滚动距离 + 可视区高度 >= 滚动条长度时,就相当于滚动到了底部。...// 当前可视区高度 var clientHeight = document.documentElement.clientHeight // 滚动长度...var scrollHeight = document.documentElement.scrollHeight // 当滚动距离+可视区高度>=滚动条长度时,...= document.documentElement.scrollHeight // 当滚动距离+可视区高度>=滚动条长度时,就相当于滚动到了底部 if (scrollTop

2.6K40

JS实现无限分页加载——原理图解

传统数据展现都以分页形式,但是分页效果并不好,需要用户手动点击下一页,才能看到更多内容。 有很多网站使用 无限分页 模式,即网页视窗到达内容底部就自动加载下一部分内容......本篇就无限分页实现模型,讲述其中奥妙。 原理图 实现无限分页过程大致如下: 1 视窗滚动到底部 2 触发加载,添加到现有内容后面。...因此,可能会出现两种情况: 1 当页面的内容很少,没有出现滚动条。 2 当页面的内容很多,出现了滚动条。...最开始没有滚动滚动条时,上面隐藏部分为0,视窗高度是667(这个值是一直不变),内容高度为916 ?...当向下滚动了一下后,视窗高度不变;上面隐藏高度增加到100,即滚动条上面代表部分。 ? 当触发加载后,视窗高度保持变;上面隐藏高度保持不变;文本内容增加到1816; ?

5.8K100
领券