gpt4 book ai didi

javascript - Jquery 在悬停时改变背景颜色,一直闪烁

转载 作者:行者123 更新时间:2023-11-30 08:06:57 25 4
gpt4 key购买 nike

所以我目前正在制作一个热门列表,我想在其中添加一点 javascript。我决定在访问者将鼠标悬停在名称上时使背景颜色淡入。

但问题是,它一直闪进闪出,很烦人! - 这是我的代码:

<script type="text/javascript">
var isOn = false;
if(isOn == false)
{
$('#rank<?= $info['ID']; ?>').hover(function(){
isOn = true;
$('#rank<?= $info['ID']; ?>').animate({
backgroundColor: '#FF0000'
});
});
}
$('#rank<?= $info['ID']; ?>').mouseout(function(){
isOn = false;
$('#rank<?= $info['ID']; ?>').animate({
backgroundColor: 'white'
});
});

</script>

我想在访问者悬停在该区域上时淡入一种颜色,并在访问者悬停在该区域外时变回另一种颜色。

谢谢。

最佳答案

问题是您错误地使用了 hover 快捷方式。 hover 实际上采用两个 函数并绑定(bind)到mouseentermouseleave。您当前的代码绑定(bind)到 mouseentermouseout,这会导致问题。

你真正想要的是:

var isOn = false;
if(isOn == false)
{
$('#rank<?= $info['ID']; ?>').hover(function() {
isOn = true;
$('#rank<?= $info['ID']; ?>').animate({
backgroundColor: '#FF0000'
});
},
function() {
isOn = false;
$('#rank<?= $info['ID']; ?>').animate({
backgroundColor: 'white'
});
});
}

您可能还想包含一些 .stop() 函数,这样您的动画队列就不会出现问题。

你不应该使用 mouseovermouseout 因为当你进入或离开一个元素时它们会触发多次。请参阅 http://api.jquery.com/mouseenter/ 底部的演示一个说明性的例子。

关于javascript - Jquery 在悬停时改变背景颜色,一直闪烁,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16779714/

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