2012-06-30 115 views
0

这里是我的旧代码的工作原理:为什么这个悬停事件触发页面加载?

$('.logo').hover(function(){ 
    $(this).addClass('animated swing')}, 
    function(){$(this).removeClass('animated swing') 
}); 

这里是我的,即时通讯试图重构新的代码。问题是当页面加载时(无需我在标志上盘旋)添加类“动画摇摆”。

$('.logo').on('hover').toggle(function() { $(this).toggleClass('animated swing') }); 

它也不会发挥超越了第一次

回答

2

您必须更改您的代码。 on需要2个参数,事件和要执行的函数。它应该是这样的:

$('.logo').on('hover', 
    $(this).toggle(function() { $(this).toggleClass('animated swing') }); 
); 

当你在现实中使用。对(“悬停”)切换(...)你是向前传递元素,而不是应用该功能的“悬停”监听器。 ,因此它会在解释时执行(因此,只要解释该行,就会触发动画,而不是等待鼠标悬停事件)。

1

在这里你去:

$('.logo').on('hover', function() { $(this).toggleClass('animated swing') }); 

另外,我不知道是否有whitspaces类是一个好主意。改为尝试animated-swing

+0

其2班我想补充:)谢谢你的回答! – Tallboy

+1

没问题。是的,2类听起来很合理:) – Alp

相关问题