gpt4 book ai didi

javascript - JQuery 鼠标事件触发 If 语句

转载 作者:行者123 更新时间:2023-12-02 19:19:43 30 4
gpt4 key购买 nike

我有一个绑定(bind),我想更好地控制它。首先是代码:

 $('#topnav').bind({

mouseenter: function() {
$("#topnav").animate({opacity: 1.0, width: '98%', height: '38px'});
},
mouseleave: function() {
$("#topnav").delay(2000).animate({opacity: 0.9, width: '310px', height: '33px'});
}

});

目前你看到我正在延迟 mouseleave,因为该人“mouseenter-ing”的导航栏非常小,如果鼠标恰好离开一瞬间,就会触发 mouseleave 事件。我想控制得更好一点。我想要某种类型的 if 语句,表示“如果鼠标离开 #topnav div 的时间少于三秒并重新进入,则假装鼠标从未离开过”

如果这没有意义,我会澄清。

谢谢!

最佳答案

您可以使用 setTimeout()clearTimeout() 来实现此目的:

var tout;
$('#topnav').bind({
mouseenter: function() {
clearTimeout(tout);
$("#topnav").animate({opacity: 1.0, width: '98%', height: '38px'});
},
mouseleave: function() {
tout = setTimeout(function() {
$("#topnav").animate({opacity: 0.9, width: '310px', height: '33px'});
}, 2000);
}
});

关于javascript - JQuery 鼠标事件触发 If 语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12684065/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com