无限滚动加载最佳实践

无限滚动(Infinite scrolling),有时候被称为无尽滚动(endless scrolling),这种技术允许用户在大量内容上滚动,眼中看不到结束的地方。这种技术很简单,就是页面往下滚动的时候保持刷新。

这项技术使用户在没有打断额外交互的情况下滚动列表 —— 随着用户滚动,一条条的内容就出现了。Facebook 的新闻推送页,Google 的图片搜索,Twitter 的时间线,这些页面都用到了这项技术。虽然听起来还挺有诱惑力的,但并不是对所有网站或应用都通用的。

优秀无限滚动的五项原则

将无限滚动做好,并不是不可能完成的任务。为了完成它,记住并遵守以下方针。

1. 导航条保持可见

使用无限滚动时候,最好保持导航条持续可见,这样可以很快导航到页面或应用的不同区域,对用户来说也更简单。如果找不到导航条,用户将不得不一路向上将页面滚回去。

仅适用移动设备:因为移动端屏幕要小得多,导航条所占比例可以相对大一些。如果屏幕上是滚动的内容,用户滚动获取新内容的时候,导航条可以隐藏起来;当用户开始往回滚动试图回到顶部的时候再显示出来。

2. 如果有页脚,加上“加载更多”按钮

无限滚动阻碍用户的访问页脚。实际上,这也是无限滚动设计的主要挑战之一:用户到达列表底部的时候,内容在不断地加载进来,用户会有一两秒时间看到页脚,直到下一组结果加载成功并将页脚挤出视图之外。这阻止用户接触到页脚。

拿 Bing 图片举例子。页脚包含“了解更多”、“帮助”等链接,但用户没办法真正点到任何一个,直到过一会儿,页面停止无限滚动。

如果你的网站或应用有页脚,且它对你(或者,更要紧的,对你的用户)很重要,那就应该用“加载更多”的方法。新内容不会自动加载,直到用户点击了“加载更多”的按钮。这构成了一个很简单的交互界面,也使得按需加载额外内容的认知负荷可能是最小。

Instagram 使用“加载”更多按钮以便页脚简单可及,并且不会强制用户再三点击“加载更多”。

3. 返回按钮将用户待回至之前的位置

有时候,无限滚动的实现带来一个主要的可用性缺陷:滚动位置并未被记录为“状态”。如果用户从列表中的链接跳转了,然后点返回按钮,他们希望能回到页面原来相同的位置。但是列表的位置不再存在了,这意味着使用浏览器的返回按钮一般都导致滚动位置重置到页面顶部。无怪乎用户很快就觉得沮丧,都没有一个合适的“回到列表”的功能。

别让你的用户就因为使用返回按钮,找不到列表的位置。很重要的是,用户通过列表访问了某一个项目的详情页,他们点击浏览器返回按钮返回列表的时候,也应该在相同的位置。

Flickr 监听用户点击浏览器后退按钮的行为,满足用户的期望。APP 记住用户的滚动位置,所以当用户按后退按钮的时候,返回到原始位置。

4. 提供为特定项添加书签的可能

无限滚动最常见的缺点之一就是,内容出现的时候,没法添加书签。喜爱内容的简单的书签(或者
“保存稍后再看”),作为未来的参照,对用户来说是很有用的工具。当网站或应用提供书签功能的时候,用户会使用的。比方说,Pinterest,使用书签工具帮助用户保存创意。

5. 加载新内容时提供视觉反馈

当内容在加载的时候,用户需要明确的指示,说明正在进行中。使用进度指示(process indicator)让用户知道,新内容正在加载,很快就会在页面上显示。

因为加载新内容是一个很快的动作(不会超过 2-10 秒钟),你可以使用循环动画来提供反馈,表明系统正在工作。

也可以有助于为用户添加额外的清晰,包括文本解释了为什么用户等待(例如“加载评论…”)。
为用户添加额外声明,提供说明为何用户在等待的文本(如“正在加载评论”),也是很有用的。

结论

无限滚动实现得好的话,可以达到令人难以置信的光滑无缝体验。很好的是,关于好的无限滚动,你已经获得一些线索了,这会帮你建立完美的用户体验。

谢谢!

本文转载自:众成翻译
译者:文蔺
链接:http://www.zcfy.cc/article/673
原文:https://uxplanet.org/infinite-scrolling-best-practices-c7f24c9af1d#.1xzr65wil

无限滚动加载最佳实践相关推荐

  1. 【译】无限滚动加载最佳实践

    本文转载自:众成翻译 译者:文蔺 链接:http://www.zcfy.cc/article/673 原文:https://uxplanet.org/infinite-scrolling-best-p ...

  2. 基于 Vue.js 的移动端组件库mint-ui实现无限滚动加载更多

    通过多次爬坑,发现了这些监听滚动来加载更多的组件的共同点, 因为这些加载更多的方法是绑定在需要加载更多的内容的元素上的, 所以是进入页面则直接触发一次,当监听到滚动事件之后,继续加载更多, 所以对于无 ...

  3. php 无限滚动加载,无限滚动,_无限滚动加载数据问题,无限滚动 - phpStudy

    无限滚动加载数据问题 做移动端程序的时候,经常会遇到无限滚动的功能,通常实现无限滚动的方式是页面滚动到底部后出发一个ajax请求,后端返回数据然后动态追加DOM,但是如果DOM结构很复杂,追加的时候拼 ...

  4. vue2.0无限滚动加载数据插件

      做vue项目用到下拉滚动加载数据功能,由于选的UI库(element)没有这个组件,就用Vue-infinite-loading 这个插件代替,使用中遇到的一些问题及使用方法,总结作记录! 安装: ...

  5. AngularJS 无限滚动加载数据控件 ngInfiniteScroll

    为什么80%的码农都做不了架构师?>>>    1.什么是 InfiniteScroll?  无限滚动(Infinite Scroll)也称为自动分页.滚动分页和无限分页.常用在图片 ...

  6. Infinite-Scroll无限滚动加载数据

    无限滚动的实现原理:当滚动条到底离网页底部一定长度的时候,向后台发送页数并获取数据. 首先我们在页面上先放置10条数据,即第一页,每一项都是p标签: <div id="content& ...

  7. 【无限滚动加载数据】—infinite-scroll插件的使用

    网上对于infinite-scroll插件使用的例子不多.但由于它的出现,鼓吹了瀑布流形式的页面展示方式,所以不得不了解了解这种新的分页方式. 官网上有对infinite-scroll的详细描述,但一 ...

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

    效果图如下: 可以看到随着不断的滚动,页面组件的数量不断的加载. 其实加载的是后端返回的数据,因为涉及隐私,没有给显示出来. 利用懒加载,可以防止大量渲染造成卡顿降低用户体验. 页面的动态加载这块可以 ...

  9. php spl自动加载类,php – SPL自动加载最佳实践

    在我在服务器端的include_path中,我在'/usr/share / pear /'中引用了一个pear目录.在我的应用程序中,我包含来自公共库的文件,位于'/usr/share / pear ...

最新文章

  1. C陷阱与缺陷的学习笔记
  2. Silverlight 2 Beta 1, IE 8 Beta 1, ASP.NET MVC 预览版2 可以下载了 - 思归呓语 - 博客堂
  3. MySql 5.7 新特性概览
  4. SpringBoot静态资源的映射
  5. html自动广告业代码,html+javascript实现广告窗自由浮动
  6. Lucene 与 Elastic
  7. 董小姐宣布重磅升级:格力空调包修时长正式升级为10年
  8. 北师大计算机学院调剂,北师大数学科学学院2020年硕士研究生调剂方案
  9. python接口自动化测试(七)-unittest-批量用例管理
  10. python数字保留两位_Python 鲜为人知的数值格式化
  11. Python面向对象-0
  12. 期货反跟单-镜像零滑点软件真有那么靠谱吗?
  13. 基于Java GUI的资产管理系统的设计与实现
  14. 其他 | 狼人杀入门
  15. MongoDB启动shutting down with code:100处理
  16. 技术人员帮助电商运营选择最合适的物流快递运输公司的5个切入点
  17. 【vue3.0学习】父传子 子传父
  18. WPF 使用 Direct2D1 画图入门
  19. 一文解决斐波那契数列求前n项和;和求第n个数是多少的问题;斐波那契数列(Fibonacci)又称黄金分割数列,指的是这样一个数列:0、1、1、2、3、5、8、13、21、34、……
  20. 关于module.exports和exports

热门文章

  1. mvp+dagger2_Android MVP + Dagger2 +改造+ RxJava
  2. MicroPython实例之TPYBoard v102炫彩跑马灯WS2812B
  3. Linux 启动流程学习
  4. [20171113]修改表结构删除列相关问题2.txt
  5. Java线程池—ThreadPool简介
  6. RTX——第10章 任务调度-抢占式、时间片和合作式
  7. HTML页面禁止选择、页面禁止复制、页面禁止右键
  8. 基于Linux下 Oracle 备份策略(RMAN)
  9. ubuntu下设置Android手机驱动
  10. [转]AAuto编程语言官方站 网站服务条款