機能に関して助けが必要settimeout
です。specifix パラメータに基づいて「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 "data-name" を現在の時刻で追加しようとしましたが、すべての data-name を保存してから setTimeout 関数に取得する方法がわかりません。
誤字脱字すいません