博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
UI中的响应时间:3个重要的界限
阅读量:6868 次
发布时间:2019-06-26

本文共 1157 字,大约阅读时间需要 3 分钟。

今天看了篇文章()觉得很不错,这里简单整理了下要点。

Response Times: The 3 Important Limits

有关操作响应时间的基本准则,三十多年来就没有变过,而且这些准则不限于某一门技术或语言。

  • 0.1秒是用户瞬间感受的界限,这意味着不需要任何提示(feedback)可直接显示结果。
  • 1秒:即使用户感觉到了延迟,但仍然感觉流畅并保持连续的操作,一般来讲,延迟在0.1秒~1秒之间,是不需要特殊提示的, 但用户仍然会失去直响应的感觉。
  • 10秒是用户专注于单一任务的极限,对于更长的延迟,用户将会进行其它的操作,而不会等待计算机执行完毕。所以,在计算机执行的过程中应当给用户提示。由于时间对于用户来讲是十宝贵,所以提示现在尤为重要,不然的话用户讲不知道做什么。

其它

  • 计算机的响应时间一般来说,越快越好,但底线是保证可用性,不应当过快以至于用户无法操作。例如,滚动列表的滚动速度太快到让用户无法及时停止目标内容。
  • 当一个操作需要超过10秒的等待,应该给予用户一个百分比进度条,这种效果将远远好于仅提示用户剩余时间,并且给予一个可中断或取消的操作。
  • 对于无法计算进度的操作,也应当给予用户适当的反馈。例如:扫描未知大小的数据库时,可以打印出已扫描的表。另外替代方案是提供一个简单的等待动画,提示用户程序在运行中。
  • 对于2~10秒的操作,如果使用百分比进度条显得有些大材小用,并且过快的显示也会让用户有种闪烁的不好效果。这时可以仅使用一个“忙碌”的动画,并且在合适的位置配上一个变化的数字提示进度,效果更好。

结合实际

1、在网页中有许多的选项卡或相册轮翻,这些大都是使用mouseover事件触发。这就难免出现一个问题,鼠标无意之中划过触发区域,会进行切换,给人以闪烁的感觉。

具体的解决方法:既然100毫秒内的延迟,用户都不会有所察觉,那就增加触发延迟,代码如下(使用jQuery编码方式做演示)。

var timer;    // 时间句柄$('div.tab-holder li').hover(function(){    clearTimeout(timer);    // 首先清除上一次注册的句柄    timer = setTimeout(function() {            //执行切换    }, 100);});

2、在Suggest的应用当中,如果每次键盘事件都会触发一次请求的,那么这其中将会有许多无效请求,并对服务器造成一定压力。因此多数Suggest中都会使用如上一例子中的延迟,时间一般控制在200~250毫秒内。

转载于:https://www.cnblogs.com/rainman/archive/2011/01/04/1925814.html

你可能感兴趣的文章
maven中,dependency 中的 classifier属性
查看>>
51Nod-1011 最大公约数GCD【欧几里得算法】
查看>>
#从零开始学Swift2.0# No.2 运算符和表达式
查看>>
Ubuntu下安装NetBeans步骤和相关问题的解决方法
查看>>
iOS开发UI中懒加载的使用方法
查看>>
online_judge_1107
查看>>
Ubuntu下修改为永久DNS的方法
查看>>
微软铁杆粉丝的狂想曲
查看>>
13DBUtils工具类
查看>>
Java并发包--ThreadPoolExecutor
查看>>
实习3月的总结
查看>>
Android开发之动态设置字体的样式和粗细
查看>>
Linux系统下 为命令配置别名
查看>>
每天一个小算法(Shell Sort3)
查看>>
如何去掉给图片添加链接后的蓝色边框
查看>>
在线用户的简单的统计和显示(只是一种很局限的在线用户统计显示,先留着,以后再研究复杂的)...
查看>>
Centos下MongoDB数据库的安装以及配置开机自启动(三)
查看>>
关于window.showModalDialog 父子窗口传值,及刷新父窗等问题
查看>>
linux内核驱动module_init解析(1)
查看>>
linux常用命令&以及帮助命令
查看>>