我有一個設置爲在延遲1500ms後淡出的元素。即:喜歡的東西:在jQuery中延長已經延遲()'d元素的延遲
$("<div>My Element</div>").appendTo("body").delay(1500).fadeOut(400);
是否有jQuery的一種方式,而元素的淡出仍有待擴展這個延遲時間?
我有一個設置爲在延遲1500ms後淡出的元素。即:喜歡的東西:在jQuery中延長已經延遲()'d元素的延遲
$("<div>My Element</div>").appendTo("body").delay(1500).fadeOut(400);
是否有jQuery的一種方式,而元素的淡出仍有待擴展這個延遲時間?
的.delay()方法是最適合的jQuery排隊效果 之間延遲。 因爲它是有限的 - 例如,它不提供取消延遲的方法。 delay()不是JavaScript本地setTimeout函數的替代品, 可能更適合某些用例。
所以,我怕你只能用javascript settimeout()
做到這一點。
糾正我,如果我錯了。 :)
p.s.只需補充一點,您可以使用.clearQueue()
來取消延遲的動畫。
.delay()可能使用setTimeot()或setInterval()。我不知道你想獲得什麼樣的影響,但如果你想重置計時器(或重新啓動它),你可以做這樣的事情:http://jsfiddle.net/rkw79/4AevQ/
var t;
$('div').click(function() {
clearTimeout(t);
t= setTimeout("$('div').fadeOut(400);", 1500);
});
$('div').trigger('click');
上面的代碼淡出的出「DIV '除非用戶點擊它。
setTimeout() {
function() {
$("<div>My Element</div>").appendTo("body").fadeOut(400);
}, 1500
}