我寫了一段簡單的代碼,在滑鼠懸停事件上顯示一個 div。我想在事件發生之前將滑鼠懸停在元素上 1 秒。關于如何實作這一目標的任何想法?如果可能的話,有一個簡短的解釋,所以我下次知道。
$('.NavSelect h2').mouseover(function() {
$('.NavGroup').hide();
$('#' $(this).prop('id').replace('item','content')).show();
});
uj5u.com熱心網友回復:
最好將此超時保留在data屬性中并將其清除mouseout。
$('.NavSelect h2').mouseenter(function () {
$(this).data('timeout', setTimeout(function () {
$('.NavGroup').hide();
$('#' $(this).prop('id').replace('item','content')).show();
}, 1000));
}).mouseleave(function () {
clearTimeout($(this).data('timeout'));
alert('mouse left');
});
uj5u.com熱心網友回復:
如果我明白你想做什么,你需要一個setTimeout:
$('.NavSelect h2').mouseover(function() {
setTimeout(() => {
$('.NavGroup').hide();
$('#' $(this).prop('id').replace('item','content')).show();
}, 1000);
});
在這里,檔案
更新
如果您要清除超時,mouseleave我建議您這樣做:
let time = 0;
$('.NavSelect h2').mouseover(function() {
time = setTimeout(() => {
$('.NavGroup').hide();
$('#' $(this).prop('id').replace('item','content')).show();
}, 1000);
}).mouseleave(() => { clearTimeout(time); });
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/380673.html
標籤:javascript 查询 鼠标事件 鼠标移到
