我有一些媒體。在這之上,我有一組控件,當用戶的鼠標空閒時,我想隱藏它們。然後,如果用戶移動鼠標,我希望它們重新出現。如何防止div在隱藏時觸發父級的mousemove
我的問題是,當控件消失時,它們會在父級上觸發mousemove事件。這會導致控件重新出現。
這裏是JS代碼:
(function($) {
var timer = null;
$('.outer').mousemove(function() {
$('.inner').fadeIn('slow');
if (timer) {
window.clearInterval(timer);
}
timer = window.setTimeout(function() {
$('.inner').fadeOut('slow');
}, 3000);
});
})(jQuery);
這裏是一個小提琴:https://jsfiddle.net/8oduhs96/
眼下小提琴的結構看起來更像我的項目。我沒有更改標記的靈活性,所以JS和/或CSS解決方案是首選。
您可以取消註釋CSS的較低塊以查看問題只發生在鼠標位於藍色區域時。
我想嘗試添加和刪除基於菜單是否隱藏的父類。然後,如果父母具有該類別,則基於懸停。 – eeetee
我不明白這個問題,當你不移動鼠標時,菜單消失了,是不是你所需要的?另外,考慮一個像這樣的addClass/removeClass和CSS轉換https://jsfiddle.net/8oduhs96/7/ – romuleald
@romuleald問題在於菜單在不移動鼠標的情況下立即重新出現。你的小提琴沒有這個問題,因爲菜單沒有完全刪除,它只是字母表。這是IMO比隱藏後使用超時更可接受。如果你輸入一個答案,我會接受它。 – Sean