2016-06-21 4 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内でウィンドウオブジェクトを参照しています。これを明示的に参照する必要があります。 –

答えて

1

まず、2番目の例では、存在しない.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

関連する問題