我寫了這個代碼淡出導航菜單透明度爲50%,當鼠標處於休眠狀態:jQuery的鼠標移動淡入/淡出元素取消淡入淡出的元素的鼠標懸停
var hidden, fadenav, dimNav = function() {
hidden = true;
$('#main-nav').animate({'opacity': 0.5}, 200);
};
$('document').ready(function() {
dimNav();
$('body').on('mousemove', function (e) {
if (hidden) {
$('#main-nav').animate({'opacity': 1}, 200);
hidden = false;
}
if (fadenav !== null) {
clearTimeout(fadenav);
}
fadenav = setTimeout(dimNav, 500);
});
});
我想要做的是使它可以在用戶將鼠標放在#main-nav
元素上時不會消失。
我曾經嘗試這樣做無濟於事:
$('#main-nav').on('mouseover mouseout', function (e) {
if (e.type === 'mouseover') {
clearTimeout(fadenav);
} else {
fadenav = setTimeout(dimNav, 500);
}
});
沒有任何人有任何想法如何做到這一點?
我認爲hoverIntent應該可以幫助你http://howne.net/brian/resources/jquery.hoverIntent.html –
hoverIntent會如何幫助我?這與用戶無意中將鼠標移離元素或檢測用戶是否打算懸停在元素上無關。我只需要取消一個元素的鼠標懸停超時,但它不會這樣做。 –