2016-09-08 8 views
0

私のアイデアは時間の経過とともに画像を動的に変更しても機能しません。各ボックスは異なる画像から始まります。setintervalとswitch文で画像を変更する

var dir_img = ['img1.svg','img2.svg','img3.svg']; 

     setInterval(function() { 
     $('.box img').each(function(){ 
      var image = $(this).attr('src').val(); 
      switch(image) { 
       case dir_img[0]: 
        $(this).attr('src',dir_img[1]); 
        $(this).hide().delay(0).fadeIn(0).delay(1000).fadeOut(0); 
        break; 
       case dir_img[1]: 
        $(this).attr('src',dir_img[2]); 
        $(this).hide().delay(0).fadeIn(0).delay(1000).fadeOut(0); 
        break; 
       case dir_img[2]: 
        $(this).attr('src',dir_img[0]); 
        $(this).hide().delay(0).fadeIn(0).delay(1000).fadeOut(0); 
        break; 
       default 
      } 
     }); 
     }, 1000); 

Aは2つの方法

var image = $(this).attr('src').val(); 
var image = $(this).attr('src'); 

ボックスとのimgタグのGET srcを試してみました

あなたのコードを持ついくつかの問題があります
<div class="box"> 
    <img src="img1.svg"> 
</div> 
<div class="box"> 
    <img src="img2.svg"> 
</div> 
<div class="box"> 
    <img src="img3.svg"> 
</div> 

答えて

1

  • defaultあなたの内私の状態閉じていない。
  • 使用している変数esteセレクタが
  • $(this).attr('src');はここに正しいことで定義されていないとして、それはあなたのコードは動作するはず固定して、属性srcは値

を持っていません。

注:各スイッチステートメントで同じ式($(este).hide().delay(0).fadeIn(0).delay(1000).fadeOut(0);)を使用しているので、おそらくスイッチ外で行うことができます。


Example

+0

それはwork'sグレート@empiric – Ini

関連する問題