2016-06-21 3 views
0

왜 다음 코드가 내 img src를 변경하지 않는지 궁금합니다. 주석 처리 된 예제는 잘 작동합니다. 그리고 경보는 4 초마다 트리거됩니다. src를 교체하는 것은 set interval 함수 내에서 작동하지 않을 것이다.setinterval이 이미지를 변경하지 못합니다. src

$(document).ready(function(){ 
    $(".samples_1_1").on("click", function(){ 
     alert('asdf'); 
     //$(this).attr("src", "../../static/results/samples_1_2.png"); 
     setInterval(function() { 
      alert('alert 1'); 
      $(this).src("src", "../../static/results/samples_1_2.png");   
     }, 4000); 
     }); 
    }); 
+0

참조 http://stackoverflow.com/questions/10944004/how-to-pass-this-to-window-setinterval-이 값은 setInterval 내에서 window 객체를 참조합니다. 이것에 대한 명시적인 참조를 전달해야합니다. –

답변

1

첫째, 두 번째 예에서는 존재하지 않는 .src()를 사용하고 있습니다. 이전과 마찬가지로 .attr()을 사용하십시오. 둘째로, $(this) 키워드가 이제는 자체 함수로되어있어 정의되지 않았습니다. $(".samples_1_1").attr("src", "../../static/results/samples_1_2.png");

+0

아니요, 그렇지 않습니다. 나는 몇 가지 일을 시도하고 있었다. 내 실수. 실제 코드에서는 $ (this) .attr ("src", "../../static/results/samples_1_2.png")와 동일합니다. – mobone

+0

죄송합니다, 예, 문제를 발견하고 지금 내 대답을 수정했습니다 :) – Ian

관련 문제