jQuery悬停无限循环
我正在尝试使用.hover使HTML元素看起来像是发光的。我的代码如下所示:jQuery悬停无限循环,jquery,hover,mouseover,jquery-hover,Jquery,Hover,Mouseover,Jquery Hover,我正在尝试使用.hover使HTML元素看起来像是发光的。我的代码如下所示: var glow = $('<div class="glow">...</div>'); $(this).hover(function() { glow.fadeIn(); }, function() { glow.fadeOut(); } var glow=$('…'); $(this).hover(函数(){ glow.fadeIn(); },函数(){ 辉光衰减(); }
var glow = $('<div class="glow">...</div>');
$(this).hover(function() {
glow.fadeIn();
}, function() {
glow.fadeOut();
}
var glow=$('…');
$(this).hover(函数(){
glow.fadeIn();
},函数(){
辉光衰减();
}
我得到的效果是,淡入淡出只是在无限循环的鼠标上一遍又一遍地重复。当我查看控制台时,hoverIn和hoverOut处理程序函数只是不断地被调用
你知道会发生什么吗
谢谢!我想您应该使用以下代码:
var glow = $('<div class="glow">...</div>');
glow.hover(function() {
$(this).fadeIn();
}, function() {
$(this).fadeOut();
}
var glow=$('…');
glow.hover(函数(){
$(this.fadeIn();
},函数(){
$(this.fadeOut();
}
或
var glow=$('…');
glow.hover(函数(){
glow.fadeIn();
},函数(){
辉光衰减();
}
我相信现在您的$(this)是不明确的,并且可能没有将hover()处理程序放在正确的对象上
也有可能您在这里遗漏了一些重要的内容(例如,where isglow
放入DOM中)
如果情况变得更糟,您可以完全跳过悬停
,只需使用mouseover
和mouseout
,或者如果您想真正了解整个过程,您可以对mouseover和mouseout事件使用bind
实际上,由于您在单个鼠标悬停事件上看到重复操作,这可能表明您以某种方式将单个悬停
处理程序的多个实例绑定到发光
对象。如果最终是这样,您可以使用解除绑定
在绑定新处理程序之前删除当前处理程序,但避免如果您能找到一种方法,那么多重绑定是一种更好的策略
我希望这会有帮助!如果您能提供一个请提供更多代码,那就太好了。您的
$(此)
让我觉得您可能正在分配.hover()
是另一个事件的结果,因此它被重复地分配。我读到的方式似乎是你在悬停时创建了发光
div,而不是在现有div中淡入/淡出(无可否认,时间晚了,我有点累了…)JSIDdle:这不起作用。问题可能是.hover的上下文。基本上,我在dom中运行,寻找包含某个类(“glow”)的元素。如果元素具有该类,我将附加一个新的dom元素。下面是一个JSIDdle,它显示了我正在做的更多工作:
var glow = $('<div class="glow">...</div>');
glow.hover(function() {
glow.fadeIn();
}, function() {
glow.fadeOut();
}