2012-09-20 78 views
0

我想通过使用JQuery实现一个简单的图像滑块。这是我的代码:图像滑块与JQuery不工作

<p id="Photos"> 
     <img alt="Image-1" src="../../Images/Image1.png" /> 
     <img alt="Image-2" src="../../Images/Image-2.png" /> 
     <img alt="Image-3" src="../../Images/Image-3.png" /> 
    </p> 

<script type="text/javascript"> 
    $(document).ready(function() { 
     SlideImage(1); 
    }); 

    function SlideImage(currentPhoto) { 
     var NumberOfPhotos = $('Photos img').length; 
     currentPhoto = currentPhoto % NumberOfPhotos; 

     $('Photos img').eq(currentPhoto).fadeOut(function() { 
      $('Photos img').each(function (i) { 
       $(this).css('zIndex', ((NumberOfPhotos - i) + currentPhoto) % NumberOfPhotos 
      ); 
      }); 

      $(this).show(); 

      setTimeout(function() { SlideImage(++currentPhoto); }, 3000); 
     }); 
    } 
    </script> 

首先滑块不工作,不断显示单个图像。任何解决此问题的建议都将得到高度赞赏,但更重要的是,我需要了解代码中使用的变量“i”的含义,从中获得其值&它的目标是什么?

在此先感谢。

回答

0

我是您在调用“each”的对象集合中当前位置的索引。 jQuery APIs在解释这些细节方面颇为出色。

在这种情况下,我认为集合本身也会因为不是调用

$('Photos img').eq(currentPhoto).fadeOut(function() { 

我相信你想使用

$('#Photos img').eq(currentPhoto).fadeOut(function() { 

,因为你试图通过解决该项目的空ID值