2012-06-30 37 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

相關問題