나는 여기서 바보 같은 실수를하고 있다고 생각하지만 나는 그것을 보지 못했다. 내가 < 리 >의 목록을 얻으려고 노력하고 각각에 대해 작동 setInterval를 사용하지만, setInterval 내가 기대했던 방식으로 행동하지 않습니다. 내 마크 업의jQuery each() 루프의 setInterval
코드 조각 : 내 자바 스크립트의
<ul>
<li id="thing1"></li>
<li id="thing2"></li>
<li id="thing3"></li>
</ul>
발췌문 :
thing1
thing2
thing3
(repeating 500ms)
하지만 실제로 내가 : 나는/좋아하는 콘솔 출력이 될 것으로 기대 것이 무엇
$("ul li").each(function(){
button = $(this).attr("id");
setInterval(function(){console.log(button);}, 500);
});
얻으세요 :
thing1
thing1
thing1
(repeating 500ms)
여기서 내가 뭘 잘못하고 있니? 그것은 범위의 일입니까?
고전적인 문제'var'을 사용하지 않으면 예기치 않은 상황이 발생합니다. 간격이 경과 할 때 전역 변수가 변경됩니다. – charlietfl
내 질문이 왜 downvoted되고 있는지 잘 모르십니까? 유효하지 않습니까? – Michael
일반적인 코딩 오류를 찾는 데 도움이되는 http://jshint.com과 같은 도구 사용을 고려하십시오. –