我期待着什么时候去
$.each($(something).find(something), function(){
$(this).delay(1000).fadeOut();
});
然后对于每个匹配元素,我会在它消失之前得到第二个延迟。但我得到的是延迟的第二个,然后一切都消失了。凌晨3点,我想不到。请帮忙
答案 0 :(得分:4)
这将起作用,使用jQuery对象作为参数调用它:
function fadeAll(elems) {
var i=-1;
function next() {
i = i+1;
if (i < elems.length)
$(elems[i]).delay(1000).fadeOut(next);
}
next();
}
您可以在工作中看到它here。
答案 1 :(得分:1)
如果我正确地解释你的问题,你希望事情在一秒钟内消失吗?如果是这样,你想要的是$(this).fadeOut(1000);
,它设定了淡入淡出的持续时间;执行delay(1000)
只需等待第二个,然后就会启动fadeOut()
操作。
答案 2 :(得分:1)
这应该是基本的想法:
var set = $(something).find(something);
var delayFade = function(){
$(this).delay(1000).fadeOut(400, nextDelayFade);
};
var i = 0;
var nextDelayFade = function()
{
if(i < set.length)
{
$(set[i++]).each(delayFade);
}
};
nextDelayFade();