2011-03-24 23 views
0

試用我自己的股票代碼並已用完JQuery知識。元素應該淡出,然後下一個元素淡入。此時第一個元素淡出,而第二個和第三個元素淡入並且它們沒有循環。顯然我錯過了一些東西。JQuery Fade Ticker整潔和整齊

<script type="text/javascript"> 
var elem1 = $('#fader').children(); 
    $(elem1).hide(); 
    $(elem1).first().fadeIn(2000,function(){ 
     $(elem1).delay(4000); 

     $(elem1).fadeOut(2000, function(){ 
      $(elem1).next().fadeIn(2000); 

      }); 
      }); </script> 

任何想法?

非凡

回答

0

好吧,我做了一個簡單的修補程序,可以滾動所有值並停止。也許這是你要找的東西,或者至少可以幫助你建立你的。 ;) 下面是它的HTML代碼:

<div id="fader" style="width:100px; height:100px; background-color:blue;"> 
    <p>aaaaaaaaaaaa</p> 
    <p>bbbbbbbbbbbb</p> 
    <p>cccccccccccc</p> 
    <p style="display:none;">dddddddddddd</p> 
    <p style="display:none;">eeeeeeeeeeee</p> 
    <p style="display:none;">ffffffffffff</p> 
    <p style="display:none;">gggggggggggg</p> 
</div> 

腳本本身:

<script type="text/javascript"> 
$(document).ready(function() 
{ 
    var timer = window.setInterval(function() 
    { 
     var elem1 = $('#fader').children(':visible:first'); 
     var elem2 = $('#fader').children(':visible:last'); 

     if(!$(elem2).next().is(':last')) 
      clearInterval(timer); 
     else 
     { 
      $(elem1).fadeOut(1500, function() 
      { 
       $(elem2).next().fadeIn(1500); 
      }); 
     } 
    }, 3000); 
}); 
</script> 

祝你好運! ; D

0

我認爲這是您的選擇。 $(elem1)指的是$('#fader')的所有孩子,因此$(elem1).next()最終會提及所有可能的「下一個」,在這種情況下,第一個和第二個元素分別具有「下一個」,即第二個和第三個元素。

你想要做的就是以某種方式跟蹤哪些元素是當前顯示的一個,然後當它的時間,淡出,一出與該元素的下一個。