我有一组缩略图,它们在悬停时交换图像,同时通过改变不透明度使用.animate()进行淡入淡出过渡。现在大部分时间都在工作,但当我快速将鼠标悬停在图像上并转到另一个图像时,该图像会显示第二个图像而不是第一个图像,这是我想要的。我想我需要一段时间:“如果我的悬停时间少于一定时间,那么请回到原始图像”。这可能会确保即使我快速翻转它们,所有缩略图也将始终显示第一张图像。我应该添加哪些代码来实现这一目标?
您可以在其中找到问题的链接:http://cargocollective.com/jarrettcreative
这就是我想要做的事情:
答案 0 :(得分:0)
你需要设置延迟(设置和停止计时器),当你将鼠标悬停在它上面时,计时器将开始准备启动动画,当你离开元素时,如果计时器从未触发代码,则停止/删除javascript setTimeout(code,millisec,lang)。你必须愚弄毫秒才能获得良好的环境。使用clearTimeout清除它。
这可能会有所帮助。 stop settimeout in recursive function
答案 1 :(得分:0)
.stop()
:http://api.jquery.com/stop
$('#my-selector').stop().animate(...);
.stop()
让我们在另一个队列排队等待一个元素时停止当前动画。您可以在API文档中了解.stop()
的一些选项。