2017-08-16 56 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);     
    } 

我得到了“文件'使用Ajax从JSON文件中获取数组。 有没有人有一个想法如何解决这个问题?

+0

将'currentImage'设置为'File'对象吗?什么是'data.files'? – clabe45

+0

文件是我使用Ajax的JSON文件中的数组。数据是Ajax中函数的参数。 – mercredi

+0

数组的类型是什么?它是否包含'HTMLElement',或者jQuery html元素,或者'Image',或者其他的东西? – clabe45

回答

0

尝试jQuery对象,而不是在阵列对象上

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

褪色。

currentImage.fadeIn is not a function告诉你currentImage不是jQuery对象,或者fadeIn不存在于jQuery命名空间中。

+0

谢谢。错误消失了,但该项目正常工作而不会退色。 – mercredi