我正在使用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