我假設你想讓div + link部分在幾秒鐘後滑落? setTimeout()對此很有幫助。
$("a").mouseenter(function(){
var link = $(this).attr("href");
$("#flash").show();
$("#flash").fadeIn(3000).html("<img src='load.gif' />");
setTimeout(function() {
$("#div"+link).slideDown(100);
}, 2000);
$("#flash").fadeOut();
});
UPDATE: 與setTimeout的問題是你無法取消它,一旦它的排隊。相反,您可以嘗試setInterval
,因爲它會返回一個計時器的ID,您可以稍後調用clearInterval
。
var timerId = null;
$("a").mouseenter(function(){
var link = $(this).attr("href");
$("#flash").show();
$("#flash").fadeIn(3000).html("<img src='load.gif' />");
timerId = setInterval((function() {
clearInterval(timerId);
$("#div"+link).slideDown(100);
}, 2000);
$("#flash").fadeOut();
});
$("a").mouseout(function(){
clearInterval(timerId);
$("#flash").fadeOut(1000);
});
您致電clearInterval
,使函數調用不會不停地重複這一點很重要。
來源
2011-06-26 11:49:59
Kon
感謝Kon,這項工作有待擴展,但我希望超時停止在mouseout。無論如何,你可以幫助我。 –
你是什麼意思你想超時停止? – Kon
我不想$(「#div」+鏈接).slideDown(100);發生 –