2012-04-20 58 views
0

看來,我不能linguettaCorrente變量存儲到懸停處理程序:我可以存儲一些變量到懸停功能嗎?

$('.navigatore_blocco').hover(
    var linguettaCorrente=$(this).find('linguetta'); 

    function() { 
     linguettaCorrente.animate({ height: 33 }, 600); 
    }, 

    function() { 
     linguettaCorrente.animate({ height: 23 }, 600); 
    } 
); 

爲什麼呢?我該如何儲存它?

+0

爲什麼很簡單:懸停是一個函數,你只是在你不應該添加一個隨機參數 – Nanne 2012-04-20 09:52:48

回答

1

在懸停之外聲明相同的變量並在裏面定義它。

var linguettaCorrente = null; 
$('.navigatore_blocco').hover(
    function() { 
     linguettaCorrente = $(this).find('linguetta'); 
     linguettaCorrente.animate({ height: 33 }, 600); 
    }, 
    function() { 
     linguettaCorrente.animate({ height: 23 }, 600); 
    } 
); 

.hover函數需要2個參數,這2個函數。它不能是別的。

+0

不! '$(this)'是當前選擇的懸停...它不同... – markzzz 2012-04-20 09:50:47

+0

@markzzz完全是我的錯誤..請參閱更新後的帖子。 – 2012-04-20 09:54:41

0

爲什麼不使用.data()來存儲所需的數據?

$('.navigatore_blocco').hover(
    var linguettaCorrente=$(this).find('linguetta'); 
    $(this).data('linguetaaCorrente', linguettaCorrente); 
    .... 
);