停止执行javascript直到完成循环
stop executing javascript till full cycle
我让这个脚本淡出和淡出(fadeTo)一个div当我悬停另一个div,它几乎工作完美,但当我快速悬停在和离开div脚本不断循环,直到它达到我悬停它的时间。
是否有可能停止(超时?)的fadeOut/FadeIn效果,直到循环完成?因此,它停止重复,快速悬停进出但是当循环结束时,脚本又开始工作
jsFiddle:(快速悬停在红色部分几次,你会注意到文本一直在移动)
http://jsfiddle.net/v69Jk/
$(function () {
$('.one').hover(function () {
$('.show').fadeTo(600, 0);
},
function () {
$('.show').fadeTo(600, 1);
});
});
解决方案1:取消之前的动画:
$(function () {
$('.one').hover(function () {
$('.show').stop().fadeTo(600, 0);
},
function () {
$('.show').stop().fadeTo(600, 1);
});
});
演示解决方案2:当动画尚未完成时停止事件(如您所愿,但由于hover
函数可能无法正常工作)
$(function () {
$('.one').hover(function () {
if (!$('.show').is(':animated')) {
$('.show').fadeTo(600, 0);
}
},
function () {
if (!$('.show').is(':animated')) {
$('.show').fadeTo(600, 1);
}
});
});
演示相关文章:
- 如何在Javascript中延迟for循环执行
- 在多个(html)元素上循环执行相同的JavaScript函数属性更改
- Javascript ajax循环执行
- Jquery in 循环执行一些记录计算
- 对于大数据,循环执行速度慢
- 计算循环执行的次数
- 为javascript循环执行实现暂停和恢复机制
- 在url上循环执行同样的操作
- done() 究竟是如何工作的,以及如何在 done() 中循环执行
- 如何停止for循环执行,直到for循环内部的DWR方法执行完成
- JavaScript Bookmarklet:无限循环执行一个函数,然后在页面加载时再次执行该函数
- JavaScript.带有innerHTML的循环在循环执行期间不会更新
- 使用jquery循环执行ajax回调
- Javascript /jquery每次迭代后循环执行函数
- 在JavaScript中设置循环执行的延迟
- 循环执行jQuery语句
- 取消jsfiddle中的无限循环执行
- jQuery在ajax成功后继续循环执行
- 按键排序数组或:为什么我的for循环执行无序
- 通过forEach循环执行任务以复制具有数组长度的任务