2011-03-24 3 views
0

내 자신의 시세로 실험하고 JQuery 지식이 부족합니다. 요소는 페이드 아웃되고 다음 페이드 인됩니다. 현재 첫 번째 요소는 페이드 아웃되고 두 번째와 세 번째는 함께 사라지고 루프는 없습니다. 분명히 나는 ​​뭔가를 놓쳤다.JQuery 페이드 티커 깔끔하고 깔끔함

<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()은 가능한 모든 '다음'을 참조하게됩니다.이 경우 첫 번째 요소와 두 번째 요소는 각각 두 번째 요소와 세 번째 요소 인 '다음'을 갖습니다. 그 시간이 한 개과에서 해당 요소의 다음 하나.