2012-04-20 42 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); 
    .... 
); 
相关问题