您需要保存setTimeout()
的返回值,以便您稍後可以將其與clearTimeout()
一起使用。以一種方法是這樣的:
$(document).ready(function() {
var hideTimer = setTimeout(function() {
$('#ctl00_ctl00_ctlHeader_divOrderProducts').hide();
}, 4000);
$('#ctl00_ctl00_ctlHeader_divOrderProducts').hover(function() {
if (hideTimer) {
clearTimeout(hideTimer);
hideTimer = null;
}
});
});
如果你想要當鼠標再次離開車重新啓用定時器(假設#ctl00_ctl00_ctlHeader_divOrderProducts
是車),你可以這樣做是這樣的:
$(document).ready(function() {
var hideTimer;
function delayHideCart() {
if (!hideTimer) {
hideTimer = setTimeout(function() {
$('#ctl00_ctl00_ctlHeader_divOrderProducts').hide();
}, 4000);
}
}
delayHideCart();
$('#ctl00_ctl00_ctlHeader_divOrderProducts').hover(function() {
if (hideTimer) {
clearTimeout(hideTimer);
hideTimer = null;
}
}, function() {
delayHideCart();
});
});
Diodeus,非常感謝您參加我的問題!我會在哪裏放這個代碼?再一次,我根本不是一個JS傢伙。我花了3天的時間才讓翻車工作=) – THEDert 2012-02-07 17:17:20