标签:last-modified javascript jquery typewatch
我必须想象这是javascript / jQuery的常见用例,因此请原谅我是否在网站的其他位置,我进行了搜索,但找不到此基本用例.
我有一个可见的div(A).将鼠标悬停在该div上会显示其他一些div(B& C).取消悬停任何这些div(A,B或C)将隐藏两个显示的div(B和C).
很简单吧?问题在于,当您快速连续地悬停和取消悬停多次时,简单的行为会导致丑陋,因为所有事件都叠加在一起,然后在一段时间内就像手风琴一样.
我尝试将typewatch函数引入方程式:
var typewatch = (function(){
var timer = 0;
return function(callback, ms){
clearTimeout (timer);
timer = setTimeout(callback, ms);
}
})();
但是我想我无法正确使用它(也许我必须调用一个单独的自定义切换函数,该函数调用typewatch本身或其他功能?).
为了便于理解,下面是确切情况的说明:
http://jsfiddle.net/tchalvakspam/KG3P9/7/
但是总的来说,我如何才能捕捉到多个事件而仅纪念最近的一个?
解决方法:
实际上,这曾经让我很困扰.在制作动画之前,请致电$.stop()
,它将冻结轨道中任何当前存在的动画,并为您指定新的目标.
$("#container")
.mouseenter(
function(){
$(".panels", this).stop(true, true).slideDown();
})
.mouseleave(
function(){
$(".panels", this).stop(true, true).slideUp();
}
);
这遵循了jQuery API中针对$.stop()
方法本身提供的文档,因为它们使用单个图像提供了类似的示例.
演示:http://jsbin.com/adeqef/2/edit
标签:last-modified,javascript,jquery,typewatch 来源: https://codeday.me/bug/20191208/2090001.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。