我需要有关settimeout
功能的帮助。我做了一个小插件,根据特定参数附加“li”。
喜欢
div ({'div':'noo','auto':'true','pos':'top','txt':'hello'});
function div(obj) {
obj.div;
obj.auto;
obj.pos;
obj.txt;
obj.time;
if(obj.pos == 'top') {
$('<ul id="top"></ul>').appendTo('body');
}
if(obj.pos == 'bottom') {
$('<ul id="bottom"></ul>').appendTo('body');
$(obj.div).append('<li data-name="' + $.now() + '">' + obj.txt + '</li>');
if(!obj.time) {
obj.time = 6000;
}
if(obj.auto == 'true') {
setTimeout(function () {
$(obj.div + ' li').fadeOut();
}, obj.time);
}
}
}
现在,这段代码的问题是,如果我在几秒钟后附加一个 li ,那么setTimeout (function (){div ({'div':'bottom','auto':'true','pos':'bottom'});}, 3000);
两个 LI 会同时淡出(obj.time
)。
我想要的是,所有附加的 LI 必须obj.time
在淡出之前完成它们各自的。
我还尝试在当前时间的所有附加 LI 上添加 attr“数据名称”,但不知道如何存储所有数据名称并将其检索到 setTimeout 函数中。
抱歉错字错误