setTimeout未添加延迟
setTimeout not adding a delay
这是我的代码:
function transition(index){
$("#right-panel").find("img").each(function(){
if ($(this).index() === index){
setTimeout(function(){
$(this).fadeIn(750);
}, 100000000);
}else{
$(this).fadeOut(750);
}
});
}
由于某种原因,函数中的setTimeout不会导致fadeIn延迟。我做错了什么?
setTimeout
回调中的this
与其外部不同。
var self = this;
setTimeout(function(){
$(self).fadeIn(750);
}, 100000000);
尽管您可以只使用.delay()
。
$(this).delay(100000000).fadeIn(750)
总的来说,一个更好的方法似乎是使用.eq()
来获取你想要的.fadeIn()
,而使用.fadeOut()
来获取其余的
function transition(index){
var images = $("#right-panel").find("img");// get all the images
var fadein = images.eq(index)
.delay(100000000)
.fadeIn(750); // fadeIn the one at "index"
images.not(fadein).fadeOut(750); // fadeOut all the others
}
为什么需要setTimeout?
function transition(index){
$("#right-panel").find("img").each(function(){
if ($(this).index() === index){ // did you check this statement?
$(this).delay(100000000).fadeIn(750);
}else{
$(this).fadeOut(750);
}
});
}
相关文章:
- 为JS函数添加延迟
- 如何为.css状态的更改添加延迟
- JavaScript/jQuery-添加添加和删除类与下一个函数之间的延迟
- 在单击下一个按钮之前,在JavaScript代码中添加5秒的延迟
- ngAnimate-如何删除NgLeave添加的延迟
- 如何使用延迟添加/删除类
- 我在向jquery脚本添加延迟时遇到问题
- 如何在使用flash音乐播放器的母版页中自动播放音乐之前添加延迟
- 在添加类之后,为DIPLAY内容添加延迟
- 如何在启动Mocha测试用例之前添加延迟
- Fullpage.js.添加滚动延迟
- 如何添加延迟计时器
- 香草JS:延迟点击事件以添加动画
- 尝试向 jQuery AJAX 请求添加延迟
- 如何在 AJAX 函数中添加延迟函数
- 如何使用 JQuery 添加延迟?(让它等待 5 秒再继续)
- 如何在 if else 语句期间添加暂停/延迟
- 如何在引导下拉列表悬停时添加延迟
- 在 Javascript/jQuery 中的循环末尾添加一个延迟
- 如何将延迟添加到此JQuery事件