2017-08-16 14 views
0

JQueryを使用してスライドショーを作成しています。スライドショーは、以下のコードで動作します。私は以下のコードの行を挿入したらスライドショー:JQueryでフェードインとフェードアウト

 function playSlideshow() { 

      timer = setInterval(function() { 

      thumbnails.children[currentNum].className = ''; 

       currentNum++; 
       if (currentNum > data.files.length - 1) { 
        currentNum = 0; 
        console.log(currentNum); 
       } 

       var currentImage = data.files[currentNum]; 
       target.src = currentImage; 

       thumbnails.children[currentNum].className = 'current'; 
       //playSlideshow(); 
      }, 3000);     
     } 

しかし、私は(currentImage.fadeInは関数ではありません)エラーを得た:

function playSlideshow() { 

     timer = setInterval(function() { 

      thumbnails.children[currentNum].className = ''; 

      $('#main>img').fadeOut('slow'); 

      currentNum++; 
      if (currentNum > data.files.length - 1) { 
       currentNum = 0; 
      } 

      var currentImage = data.files[currentNum]; 
      //var image = data.files[currentNum].clone(true); 
      $('#main>img').prepend(currentImage.fadeIn('slow')); 
      target.src = currentImage; 

      thumbnails.children[currentNum].className = 'current'; 
      //playSlideshow(); 
     }, 3000);     
    } 

I「のファイルを持って'配列をAjaxを使用してJSONファイルから取得します。 これを修正する方法を知っている人はいますか?

+0

'currentImage'は' File'オブジェクトに設定されていますか? 'data.files'とは何ですか? – clabe45

+0

ファイルは、Ajaxを使用して取得したJSONファイルの配列です。 dataはAjaxの関数のパラメータです。 – mercredi

+0

配列のタイプは何ですか?それは 'HTMLElement'やjQueryのhtml要素、' Image'sなどを保持していますか? – clabe45

答えて

0

はjQueryオブジェクトではなく、配列オブジェクトに

$('#main>img').prepend(currentImage).fadeIn('slow'); 

フェードを試してみてください。

currentImage.fadeIn is not a functionは、currentImageがjQueryオブジェクトではないこと、またはfadeInがjQuery名前空間に存在しないことを伝えています。

+0

ありがとうございます。エラーはなくなりましたが、プロジェクトはフェードインせずに通常のスライドショーとして機能しています。 – mercredi

関連する問題