2012-04-20 3 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

답변

1

호버 밖에서 같은 var을 선언하고 내부에 정의하십시오.

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

+0

@markzzz 완전히 실수였습니다. 업데이트 된 게시물을 참조하십시오. –

0

.data()을 사용하여 필요한 데이터를 저장하지 않습니까?

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