2016-09-08 13 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); 

一個試圖獲取SRC 2周的方式

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

的箱子和IMG標籤

<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在你的switch i沒有關閉。
  • este你正在使用的選擇沒有定義
  • $(this).attr('src');在這裏是正確的事情變量,屬性src不具有價值

有了這能解決代碼應工作。

注意:如您在每個開關語句中使用相同的表達($(este).hide().delay(0).fadeIn(0).delay(1000).fadeOut(0);),你也許可以做到這一點以外的交換機。


Example

+0

大@empiric它work's – Ini