经常上网的人对于popup应该都不陌生,当鼠标移动某个图片或是链接上的时候,会弹出一个小的窗口来显示更多的信息。这种模式常用,做起来也简单,无非是在DOM节点的mouseover事件上添加一个方法即可。然而我不理解的是,为什么很多的popup都没有加上一定的延迟呢。也就是说只有当用户的鼠标在某个地方停留的时间相对长(比如3秒,5秒)的时候,才弹出相应的popup。因为用户很可能只是鼠标无意识的划过而已,而对于他真正感兴趣的内容,他的鼠标是肯定会停留的。如果不加上延迟,用户鼠标一扫,一堆的popup弹出来又消失,用户体验不是很好的。
下面来看看优酷的例子:
在上面的图片中,可以看到鼠标移上去的时候,会出来两个东西,一个是优酷自己的popup,另外一个是浏览器渲染的图片的title属性的tooltip。如果实际去用的话,会发现优酷的popup当鼠标移上的时候就会马上出来,而浏览器的tooltip要过一会才会出来。这说明延迟打开是更合理的方式。
另外,在可以利用HTML的title属性的时候,使用自己的popup是有点多余的。
要添加延迟也不难,mousemove的时候先看有没有以前的设定的timeout,有的话就清掉,没有的话就用setTimeout设定几秒中之后再打开popup。





我觉得这个也要看情况,很多hover
我觉得这个也要看情况,很多hover on的菜单,我觉得还是直接跳出来比较好,延时在这个时候就显得很磨叽。不过有一些详细说明的popup,加个延时挺好。
HTML默认的title还是不太好看啊,呵呵。不过那个延时时间可以拿来用,估计是琢磨过的。