2013-07-30 57 views
0

我想修改該幻燈片工作:http://css-tricks.com/snippets/jquery/simple-auto-playing-slideshow/if語句是不是裏面的setInterval

我的腳本是:

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.5.2/jquery.min.js"></script> 
<script type="text/javascript"> 
$(document).ready(function(){ 
$("#slideshow > div:gt(0)").hide(); 
var count = 1 
setInterval(function() { 
    $('#slideshow > div:first') 
    .fadeOut(1000) 
    .next() 
    .fadeIn(1000) 
    if (count == 1) 
    { 
     count++ 
    } 
    else 
    { 
     .animate({top: '-100px'}, 1000) 
     count++ 
    } 
    if (count==3) 
    { 
     count=1 
    } 
    .end() 
    .appendTo('#slideshow'); 
}, 3000); 
}); 
</script> 

所以我試圖讓其他所有的幻燈片對象(申報單)使用動畫方法,但首先。

如果我刪除所有這些數字,並且如果變量和語句消失(但保留動畫位置),那麼它的工作原理是每個div都有動畫。

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.5.2/jquery.min.js"></script> 
<script type="text/javascript"> 
$(document).ready(function(){ 
$("#slideshow > div:gt(0)").hide(); 
setInterval(function() { 
    $('#slideshow > div:first') 
    .fadeOut(1000) 
    .next() 
    .fadeIn(1000) 
    .animate({top: '-100px'}, 1000) 
    .end() 
    .appendTo('#slideshow'); 
}, 3000); 
}); 
</script> 

如果有關係,該腳本包含在cmsms頁面中。

這是我這可能解釋了很多第一個JavaScript ...

+0

呀。對不起,我最近意識到我忘了標記Javascript。而我無法弄清楚如何添加它(現在我想通了 - 這個編輯鏈接沒有很好地展示)。我編輯了標題。我希望現在它更具描述性。 – emptyname

+1

您不能簡單地將if/else塊插入到語句的中間並期望它可以工作。請注意,行尾沒有分號,jQuery使用鏈接(http://en.wikipedia.org/wiki/Method_chaining)很多,例如, '.animate({top:'-100px'},1000)'在你的else塊中對JavaScript解釋器沒有任何意義。 – UweB

+1

作爲一個方面說明。 。 。 GAH!這麼多缺少的分號!對不起。 。 。必須弄清楚。 ;) – talemyn

回答

0

這裏有一個快速的解決方案:

<script> 
    $(function() { 

     $("#slideshow > div:gt(0)").hide(); 

     var 
      count = 1; 

     setInterval(function() { 
      $('#slideshow > div:first') 
      .fadeOut(1000, function() { 
       if(count != 1) 
        $(this).css('top', '10px'); 

       count++; 
      }) 
      .next() 
      .fadeIn(1000, function() { 
       if(count != 1) 
        $(this).animate({top: '-100px'}, 1000); 

       if(count == 3) 
        count = 0; 
      }) 
      .end() 
      .appendTo('#slideshow'); 
     }, 3000); 

    }); 
</script> 
+0

謝謝!這似乎很好地工作! – emptyname