在我的網站上,我有一個關閉的手風琴菜單(菜單-1)。如果用戶沒有爲被網站上的前5秒,菜單上單擊,在菜單下拉自動使用這個JS代碼:如何在點擊後取消觸發
setTimeout(function() {
$('#menu-1').trigger('click');
}, 5000);
我的問題是,當用戶不等待5秒鐘,並在觸發器之前點擊菜單,觸發器仍然關閉並最終關閉菜單。如果用戶在觸發菜單之前點擊菜單,如何使觸發器取消?
在我的網站上,我有一個關閉的手風琴菜單(菜單-1)。如果用戶沒有爲被網站上的前5秒,菜單上單擊,在菜單下拉自動使用這個JS代碼:如何在點擊後取消觸發
setTimeout(function() {
$('#menu-1').trigger('click');
}, 5000);
我的問題是,當用戶不等待5秒鐘,並在觸發器之前點擊菜單,觸發器仍然關閉並最終關閉菜單。如果用戶在觸發菜單之前點擊菜單,如何使觸發器取消?
您需要將超時ID存儲在變量中,以便稍後可以在用戶單擊菜單時將其取消。像這樣...
var timeout_id = setTimeout(function() {
$('#menu-1').trigger('click');
}, 5000);
$('#menu-1').click(function() {
if (timeout_id) {
clearTimeout(timeout_id);
timeout_id = 0;
}
});
嘗試用條件 –