我正在使用jQuery處理當前正在使用的下拉菜單。我遇到了Timeout函數根本無法工作的問題。它的代碼是:jQuery Timeout Function not working
$(document).ready(function() {
$('.has-sub').hover(
function() {
$('ul', this).stop(true, true).slideDown(500);
},
function() {
$('ul', this).stop(true, true).slideUp(400);
},
function() {
setTimeout(function() {
$('.has-sub').addClass("tap");
}, 2000);
},
function() {
$(this).removeClass("tap");
clearTimeout();
}
);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js"></script>
我試圖做的是創造下拉的父懸停延遲。您需要將鼠標懸停在父級上方2秒鐘才能顯示下拉菜單。我也想將它與Slidedown和Slideup效果配對。
Slidedown和Slideup功能正常,但超時不起作用。
再次,讀取[文檔】(https://developer.mozilla.org/en-US/docs/Web/API/WindowOrWorkerGlobalScope/clearTimeout)總是有用.. 。 – Teemu
這意味着你正在使用jQuery懸停方式錯誤..並且setTimeout屬於JS .... – ymz
jQuery的'.hover()'方法僅以1或2個函數作爲參數。你給它4. https://api.jquery.com/hover/ – blex