无限滚动加载”适用于你的产品吗?

编者按】本文作者">Danielle Arad,一名用户体验专家,译者@C7210。怎样通过更友好的方式来呈现一系列的数据内容,包括文章、链接、图片、搜索结果等等——对于设计师来说,这不是一件很轻松的事。

在这方面,页码导航(pagination)是一种经过时间验证的、还算值得信赖的解决方案。

不过最近几年,我们可以发现越来越多的网站开始使用无限滚动(infinite scrolling)的方式来呈现内容了——当用户浏览到页面底部时,传统意义上的“下一页”数据会自动加载,并输出到当前页面中。

对于某些类型的网站或移动应用来说,无限滚动确实是一种不错的模式;但在在某些情况下,它也会造成灾难性的后果。

我们先来看一下无限滚动加载的优缺点。

优点有效的降低了界面
复杂度,节省了空间:我们不再需要臃肿复杂的页码导航链接或按钮了。对触屏设备来说,交互方式更符合直觉:在移动应用的交互环境当中,通过向上滑动进行滚屏的操作已经成为最基本的用户习惯,而且所需要的操作精准程度远远低于点击链接或按钮。更高的参与度:以上两点所带来的交互便捷性可以使用户将注意力更多的集中在内容而不是操作上,从而让他们更乐于沉浸在探索与浏览当中。缺点

有限的用例:

无限滚动的方式只适用于某些特定类型产品当中一部分特定类型的内容。

例如,在电商网站当中,用户时常需要在商品列表与详情页面之间切换,这种情况下,传统的、带有页码导航的方式可以帮助用户更稳妥和准确的回到某个特定的列表页面当中。

额外的复杂度:

那些用来打造无限滚动的JS库虽然都自称很容易使用,但你总会需要在自己的产品中进行不同程度的定制化处理,以满足你们自己的需求;另外这些JS库在浏览器和设备兼容性等方面的表现也参差不齐,你必须做好充分的测试与调整工作。

再见了,页脚:

如果使用了比较典型的无限滚动加载模式,这就意味着你可以和页脚说拜拜了。

最好考虑一下页脚对于你的网站,特别是用户的重要性;如果其中确实有比较重要的内容或链接,那么最好换一种更传统和稳妥的方式。

千万不要耍弄你的用户,当他们一次次的浏览到页面底部,看到页脚,却因为自动加载的内容突然出现而无论如何都无法点击页脚中的链接时,他们会变的越发愤怒。

SEO:

集中在一页当中动态加载数据,与一页一页的输出相比,究竟那种方式更利于SEO,这是你必须考虑的问题。对于某些以类型网站来说,在这方面进行冒险是很不划算的。

关于页面数量的印象:

其实站在用户的角度来看,这一点并非负面;不过,如果对于你的网站来说,通过更多的内容页面展示更多的相关信息(包括广告)是很重要的策略,那么单页无限滚动的方式对你并不适用。

了解了相关的优缺点,接下来我们看一看我个人认为在无限滚动的运用方面比较到位的两个网站。

Twitter

Twitter适合采用无限滚动加载的一个重要原因,就是每个内容单元都很短小精炼,其本身就是内容整体,用户不需要在“列表索引”与“内容详情”之间切换就可以获取全部信息,而且当鼠标悬停在某个内容条目范围内的时候,对应的操作(回复、删除、收藏等)就会呈现;所有内容与功能全部集中在当前的上下文环境中。

Tumblr

默认情况下,Tumblr是通过无限滚动的方式加载内容的,但他们在设置当中为用户提供了禁用无限滚动的选项,这种做法非常体贴。

Tumblr的产品特色决定了其内容类型的广泛性,不同类型的用户所关注的内容在形式方面可能有很大的区别;允许用户自主设置内容加载方式的做法可以照顾到不同的用户群体。

默认的无限滚动方式

用户可以选择是否启用无限滚动

禁用后,回到页码导航的传统方式。

下面是我个人认为不大适合采用无限滚动的例子。

Bing的图片搜索

与Google相仿,Bing在图片与视频的搜索结果页面当中采用了无限滚动加载的做法。不过当用户点击某张缩略图从而进入图片详情页面后,再回到搜索结果列表时会失去之前的定位,这使得用户必须重新滚动页面,寻找点击之前的位置。

如果你的关键词会产生大量的搜索结果,这种方式将给你带来极大的不便。(现在Bing已经改变了这一做法,当用户点击了搜索结果中的缩略图时,会直接在当前页面输出包含大图及相关信息在内的弹出层;新的流程使用户不会再脱离当前环境 – 译者C7210小注)

YouTube

我爱YouTube的整体设计,同时也理解他们不断修改和调整设计方案的初衷,不过他们最近将首页的页码导航改为无限滚动的做法还是让我有些不爽。和Bing的问题类似,YouTube的实际内容(视频)是在一个独立的页面中的,用户显然不希望在看过一个视频后回到列表页面却发现列表重新加载了。

另外有些尴尬的是,YouTube的无限滚动加载不是那么的“自动”,用户需要点击一个按钮来使列表加载更多的视频内容;从某种角度上讲这不算坏,因为它确实是将控制权交给了用户,实现了类似前面提到的Tumblr的做法,但直接将无限滚动与手动触发结合在一起的形式多少有些不伦不类。

最佳实践

希望你能通过以上这些内容了解到自己的产品是否适合采用无限滚动加载的方式。如果答案是肯定的,那么下面这些要点也许可以帮助你避免掉实践当中的一些关键问题:

提供降级方案:前端开发人员要考虑到在特殊环境下JavaScrit无法正常运行的状况,提供平稳降级的解决方案。可设置:如果可能的话,考虑向用户提供设置选项,方便他们选择最适合自己的浏览方式。这会让用户感到贴心,从而提升对你的产品的满意度与忠诚度。视觉反馈提示:在自动加载新内容的时候,要向用户提供必要的视觉反馈,例如各种能够表达“加载中”的动画效果,否则用户将无法了解当前的状况;在没有视觉提示的情况下,如果加载时间过长,会让用户误以为接下来不再有内容了。帮用户定位:不要因为用户访问内容详情并点击了浏览器上的回退按钮就失去掉之前的列表位置。如果确实没有办法做到,而这一点对你的产品又很重要,那么还是考虑传统方式为好。测试:使用目标用户群有可能用到的各种设备进行测试,检验无限滚动加载方案的实际表现。

译者博客:BeForWeb

时间: 2024-09-22 01:56:39

无限滚动加载”适用于你的产品吗?的相关文章

“无限滚动加载”适用于你的产品吗?

在家一天天宅着,倒仍然能对周六周日有清晰的概念,也真是个奇迹. 今天带来一篇关于无限滚动加载的简短译文.其实这事儿,以前在微博上也吐过一阵的槽,印象最深的就是有次在一个什么网站上想点页脚里的"关于我们",真心点不着,每每要点的时候上面自动加载的内容就顶下来,没完没了...当时就愤恨的琢磨着你们要这页脚有毛用啊?这次看到这篇文章,觉得里面有不少能引起自己共鸣的内容,所以拿过来做,希望也能给各位朋友带来些有用的东西吧.走着. 这里进入译文.怎样通过更友好的方式来呈现一系列的数据内容,包括文

网站用户体验:“无限滚动加载”适用于你的产品吗?

中介交易 SEO诊断 淘宝客 云主机 技术大厅 [编者按]本文作者Danielle Arad,一名用户体验专家,译者@C7210.怎样通过更友好的方式来呈现一系列的数据内容,包括文章.链接.图片.搜索结果等等--对于设计师来说,这不是一件很轻松的事. 在这方面,页码导航(pagination)是一种经过时间验证的.还算值得信赖的解决方案. 不过最近几年,我们可以发现越来越多的网站开始使用无限滚动(infinite scrolling)的方式来呈现内容了--当用户浏览到页面底部时,传统意义上的"下

【干货】设计高性能无限滚动加载,了解高效页面秘密

UX Planet论坛上有过这么一篇热门文章: Infinite Scrolling Best Practices,它从UX角度分析了无限滚动加载的设计实践. 无限滚动加载在互联网上到处都有应用: 豆瓣首页是一个,Facebook的Timeline是一个,Tweeter的话题列表也是一个.当你向下滚动,新的内容就神奇的"无中生有"了.这是一个得到广泛赞扬的用户体验. 无限滚动加载背后的技术挑战其实比想象中要多不少.尤其是要考虑页面性能,需要做到极致. 本文通过代码实例,来实现一个无限滚

淘宝网滚动加载图片及刷新回顶部的做法讨论

 淘宝图片处理讨论   淘宝网页面很大,但是打开速度很快.其对图片处理是运用了滚动加载,就是滚动轴滚到哪里,图片在哪里加载.但是你想查看他的源代码,那要费九牛二虎之力吧,因为他们代码压缩合并做的很好!因为图片是滚动加载的,初始化的时候图片不加载,那么当你在页面底部刷新页面的时候,底部的页面通常不会加载出来,淘宝网的做法貌似是(因为我没有看他们的源代码,只是凭操作),刷新让页面回到顶部.   模仿淘宝,做滚动图片加载   我不知道淘宝网是如何做滚动加载的,但是我之前有篇文章,介绍了滚动加载,有兴趣

移动设备的HTML页面中图片实现滚动加载

如今移动互联网风靡全球,移动页面的元素也是丰富多彩,一个移动页面的图片超过10张已经是再正常不过的事情了.但是相对,很多移动用户还停留在2G,3G这样的网络中.那么这样带宽的用户,在浏览这样的页面时,要把页面加载完毕,可能就需要10s,20s甚至更多,严重影响用户的体验.针对这样的问题,让页面中的图片滚动加载(图片出现在显示器屏幕上时再加载图片)显得非常重要!这样也可以有效地节省我们服务器的带宽和解决请求大并发的问题. 1.效果图.     这是加载过程中的图片菊花显示            

浏览器窗口滚动加载数据采用异步形式从后台加载数据

 在滚动条距顶部距离(页面超出窗口的高度)时采用异步形式从后台加载数据,下面是具体的实现,希望对大家有所帮助 以下滚动效果为在网上查找.    在滚动条距顶部距离(页面超出窗口的高度)时采用异步形式从后台加载数据  代码如下: <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="ScrollLoadData.aspx.cs" Inherits="WebApplicat

jquery滚动加载数据的方法

 这篇文章主要介绍了jquery滚动加载数据的方法,实例分析了jQuery动态加载数据的技巧,具有一定参考借鉴价值,需要的朋友可以参考下     本文实例讲述了jquery滚动加载数据的方法.分享给大家供大家参考.具体分析如下: 我们浏览有些网页的时候,当拉动浏览器的滚动条时到页底时,页面会继续自动加载更多内容供用户浏览.这种技术我暂且称它为滚屏加载技术,我们发现很多网站用到这种技术,例如新浪微博.QQ空间等. 代码如下: 代码如下: <!DOCTYPE=html> <html>

jQuery滚动加载图片实现原理_jquery

本文主要通过以下几方面来说明懒加载技术的原理,个人前端小菜,有错误请多多指出 一.什么是图片滚动加载? 通俗的讲就是:当访问一个页面的时候,先把img元素或是其他元素的背景图片路径替换成一张大小为1*1px图片的路径(这样就只需请求一次),只有当图片出现在浏览器的可视区域内时,才设置图片正真的路径,让图片显示出来.这就是图片懒加载. 二.为什要使用这个技术? 比如一个页面中有很多图片,如淘宝.京东首页等等,如果一上来就发送这么多请求,页面加载就会很漫长,如果js文件都放在了文档的底部,恰巧页面的

javascript-#前端#一次性请求数据,然后滚动加载

问题描述 #前端#一次性请求数据,然后滚动加载 #前端#如果页面数据是一次性全部加载进来,但是只在页面上显示8条,我要滚动加载显示后面的数据,如何做,或是有什么思路 解决方案 已解决: $(window).scroll(function(){ //当滚动到底部的时候,判断是否有8条数据,如果大于8条则显示前8条:如果小于8条,则全显示 var scrollTop = $(this).scrollTop(); var scrollHeight = $(document).height(); var