如何阻止jquery为每个类成员运行一次脚本?
How can I stop jquery from running a script once for each class member
我有以下代码:
function fadeIn()
{
$(".home_photo").fadeTo(1000, 1.0 ).delay(5 * 1000);
fadeOut();
}
function doSwap()
{
console.log('Swap');
... There is some Ajax Code here that swaps the image in the divs ...
fadeIn();
}
function fadeOut()
{
$(".home_photo").fadeTo(1000, 0.01, doSwap );
}
$(document).ready(function(){
fadeOut();
});
下面是相应的HTML:
<body>
<div id="photowrapper">
<div class="home_photo" id="img1"></div>
<div class="home_photo" id="img2"></div>
<div class="home_photo" id="img3"></div>
<div class="home_photo" id="img4"></div>
</div>
</body>
jQuery脚本对"home_photo"类的每个成员运行一次。问题是doSwap函数在每个交换周期(fadeOut, doSwap, fadeIn)中运行4次。我需要做些什么,使脚本只运行一次每次交换,而不是一次为每个类成员?
如果你想让doSwap()
在fadeTo()
完成后运行,你可以使用jQuery延迟对象来控制进程:
$.when(function() {
var deferred = $.Deferred();
$(".home_photo").fadeTo(1000, 0.01, function(){
deferred.resolve();
});
return deferred;
}).then(function(){
doSwap();
});
相关文章:
- 更改路由后,运行一次js脚本
- 只运行一次提取的脚本
- 在谷歌应用程序脚本中,如何在满足条件的情况下只发送一次电子邮件
- 是否有脚本/代码可以一次将链接属性添加到多个链接
- Ajax发布到PHP脚本,每5秒查询一次MySQL数据库的性能/问题
- 为什么这个脚本只工作一次?只替换元素一次,然后再也不替换
- 控制不止一次跳水的风格's风格使用java脚本动态,使用类
- 始终在chrome/ffirefox中工作的脚本在IE中只能工作一次
- 显示弹出脚本,使其在每个浏览器会话中只弹出一次
- 每 1 分钟在 chrome 中运行一次脚本
- Chrome 扩展程序,每分钟刷新一次页面,并在每次刷新时运行 (javascript) 脚本
- 如何使我的Chrome扩展只注入一次脚本
- Javascript每300秒运行一次脚本
- 每3小时在服务器上运行一次脚本
- 每个浏览器会话运行一次脚本,但在结束时冻结脚本
- 如何在Chrome扩展中每天只运行一次脚本
- 执行javascript,然后每60秒刷新一次脚本
- 油脂猴子每天运行一次脚本
- Javascript-在只运行一次脚本之前等待一段时间
- 如何阻止jquery为每个类成员运行一次脚本?