2011-03-24 42 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()最终会提及所有可能的“下一个”,在这种情况下,第一个和第二个元素分别具有“下一个”,即第二个和第三个元素。

你想要做的就是以某种方式跟踪哪些元素是当前显示的一个,然后当它的时间,淡出,一出与该元素的下一个。