我試圖完成的是有一個菜單,當點擊一個「按鈕」時會顯示出來(按鈕和菜單位於不同的元素中,因此鼠標不會徘徊在最初的菜單)。當沒有超時超時時,菜單應該隱藏
如果菜單在超時期限內沒有被覆蓋(當前是這樣做的,但僅在第一次點擊時),它應該隱藏自己。另外,如果元素被覆蓋,我想隱藏鼠標並清除計時器並再次單擊按鈕將重置超時(它不會重置也許?)。
我已經嘗試了幾個化身,沒有任何我已經嘗試了行爲正確,我正在尋找建議。這是他的什麼我目前正在使用:
var mytimer = window.setTimeout(function() {$('.menu-div').slideUp(function() {
window.clearTimeout(this.mytimer);
})
}, 5000);
$().ready(function(){
$('#menu-button').click(function() {
$('.menu-div').slideDown();
$(mytimer);
});
$('.menu-div').mouseenter(function() {
window.clearTimeout(this.mytimer);
});
$('.menu-div').mouseout(function() {
$('.menu-div').slideUp(200);
});
});
「garagetimer」在哪裏使用?你的代碼只用它來清除超時... –
假設你想重新激活定時器,但是根本不清楚預期的行爲。 garagetimer沒有在任何地方定義爲'setTimout'。目前'myTimer'只在頁面加載時被激活。不起作用的代碼從來不是一個很好的替代品,它解釋了它應該做什麼 – charlietfl
對不起,garagetimer不應該在那裏。那是一個錯字。 – Justin