2011-10-17 3 views
0

이것은 아마도 쉬운 질문이지만 jQuery를 처음 사용하기 때문에이 코드를 볼 사람이 필요합니다. 그래서 기본적으로 여러 앵커 태그의 호버 상태의 CSS를 변경하고 싶습니다. 다음 코드를 시도했지만 작동하지 않았습니다. 그게 뭐가 잘못 됐니?jQuery에서 각 함수에 호버 기능을 사용할 수 없습니까?

(".p-container a").each(function() { 
    $(this).css({'text-shadow':'0 0 0.2px '+ colorArray[i]}); 
    $(this).hover(function() { 
      $(this).css({'text-shadow':'0 0 2px '+ colorArray[i]}); 
    },function() { 
      $(this).css({'text-shadow':'0 0 0.2px '+ colorArray[i]}); 
    }); 
    i++; 
}); 

코드는 호버 기능이 없어도 작동하지만, 동시에 호버 상태의 CSS를 변경하고 싶습니다. 아무도 그렇게하는 법을 알고 있습니까?

감사 KJ

+0

$ 내가 또한 변경을 시도없는 생각 "$ (이)는"특정 선택기 호버 기능 아래 중 하나가 작동하지 않았다. –

+0

물론 '호버 (hover)'를 사용할 수 있지만 'javascript closure loop' 또는 이와 유사한 것에 대해서는'i '와 범위 문제가 있습니다. '나는 무엇을위한 것인가? 단지 iteration을 계산하고,'each' 콜백에 전달 된 인덱스를 사용하면 문제가 해결됩니다. –

+0

어디서 왔는가? 귀하의 예에서는 정의되지 않았습니다. – Widor

답변

0

당신 i 무엇입니까? 그것은 .each()DOC의 색인입니까?

(".p-container a").each(function (i, value) { 
    $(this).css({'text-shadow':'0 0 0.2px '+ colorArray[i]}); 
    $(this).hover(function() { 
      $(this).css({'text-shadow':'0 0 2px '+ colorArray[i]}); 
    },function() { 
      $(this).css({'text-shadow':'0 0 0.2px '+ colorArray[i]}); 
    }); 
    i++; 
}); 
+0

죄송합니다. 언급하는 것을 잊어 버렸습니다. 루프 외부의 i와 colorArray 둘 다. 그리고 내가 말했던 것처럼 코드는 호버 기능없이 작동하므로 colorArray 나 i는 문제가되지 않습니다. –

0

i의 경우 colorArray 일 경우 문제가됩니다. i은 전역 변수가 될 수 있습니다. 내가 문제가

$(".p-container a").each(function() { 
관련 문제