2011-03-18 8 views
0

나는 Innerfade 및 Cycle을 사용했지만 페이드 인하거나 일시 중지하고 페이드 아웃해야하는 여러 div가 있지만 일부에는 다른 슬라이드보다 다른 콘텐츠가 있기 때문에 다른 슬라이드마다 다른 속도로 일시 중지하고 싶습니다. 다른 사람. 나는 Innerfade 또는 Cycle으로 이것을 어떻게 달성 할 수 있는지 보지 못했습니다.지연 시간이 다른 jQuery 슬라이드 쇼

나는 이것을 시도했지만 모든 이벤트가 즉시 실행됩니다.

<div id="slides"> 
    <div id="slide1" style="display:none;">Content1</div> 
    <div id="slide2" style="display:none;">Content2</div> 
    <div id="slide3" style="display:none;">Content3</div> 
    <div id="slide4" style="display:none;">Content4</div> 
    <div id="slide5" style="display:none;">Content5</div> 
</div> 
<script> 
$("#slide1").fadeIn('slow'); 
$("#slide1").delay(5000).fadeOut('slow'); 
$("#slide2").fadeIn('slow'); 
$("#slide2").delay(5000).fadeOut('slow'); 
$("#slide3").fadeIn('slow'); 
$("#slide3").delay(10000).fadeOut('slow'); 
$("#slide4").fadeIn('slow'); 
$("#slide4").delay(5000).fadeOut('slow'); 
$("#slide5").fadeIn('slow'); 
$("#slide5").delay(5000).fadeOut('slow'); 
</script> 

그래서이 경우 5 초 후에 각 슬라이드를 페이드 아웃하고 싶지만 슬라이드 3은 10 초 동안 있어야합니다. 이것을 어떻게 할 수 있습니까? 당신이 줄 수있는 도움을 주셔서 감사합니다!

답변

0

"지연"은 나중에 연결된 다른 요소가 아니라 연결된 요소의 애니메이션 만 지연시킵니다.

http://jsfiddle.net/elusien/eyJC4/

코드는 다음과 같습니다 : 대신 코드가 작업 표시 자바 스크립트 함수 "의 setTimeout"를 사용

$("#slide1").fadeIn('slow').delay(5000).fadeOut('slow'); 
var t2 = setTimeout(function(){ 
    $("#slide2").fadeIn('slow').delay(5000).fadeOut('slow'); 
    var t3 = setTimeout(function(){ 
     $("#slide3").fadeIn('slow').delay(10000).fadeOut('slow'); 
     var t4 = setTimeout(function(){ 
      $("#slide4").fadeIn('slow').delay(5000).fadeOut('slow'); 
      var t5 = setTimeout(function(){   
       $("#slide5").fadeIn('slow'); 
      }, 6500); 
     }, 11500); 
    }, 6500); 
}, 6500); 

타임 아웃 기능을 발사하는 데 사용되는 값은 이전의 "지연"값을 플러스 1500 (1.5 초).

감사합니다. 닐

+0

감사합니다. 매력처럼 작동합니다! – Claydough

+0

이것은 훌륭하게 작동했지만 지금은이 루프를 끝까지 슬라이드 1로 되돌리려면 솔루션이 필요합니다. 그래서 본질적으로 그것을 반복하십시오. JS 루프에 대해 읽으려고 시도한 모든 것이 실패로 끝납니다. 슬라이드 1로 쉽게 되돌릴 수 있습니까? – Claydough

관련 문제