2016-06-21 63 views
0

想知道爲什麼下面的代碼不會改變我的IMG SRC。註釋掉的例子工作得很好。警報每4秒觸發一次。替換src只是不會在設置的時間間隔內工作。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中的this指的是窗口對象。你需要傳遞一個明確的參考 –

回答

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