2012-05-31 4 views
-1

도와주세요. 무엇이 잘못되었는지 말해주세요 .... 또한 jq 플러그인을 사용하고 싶습니다. setInterval 코드에 그림이 다른 경우 방법 꽤 많은 일이 잘못 여기에 있습니다 나쁜 영어페이드 인 및 페이드 아웃 (jquery)로 슬라이드 쇼

<code> 
    $(function(){ 
     function slideshow(){ 
     $('.img4').fadeOut(2800,null,function(){ 
       $('.img3').fadeOut(2800,null,function(){ 
        $('.img2').fadeOut(2800,null,function(){ 
         $('.img1').fadeIn(2800,null,function(){ 
          $('.img2').fadeIn(2800,null,function(){ 
           $('.img3').fadeIn(2800,null,function(){ 
            $('.img4').fadeIn(2800,null,function(){ 
             $('.img4').fadeOut(2800) 
            }) 
           }) 
          }) 
         }) 
        }) 
       }) 
      }) 
     } 
     //slideshow() 
     setInterval(slideshow,1000); 

</code> 
+0

증상은 무엇인가 ... 그건 바로 거기 꽤 이상 유지할 코드입니다 :

대신 새로운 슬라이드 쇼를 시작하는 간격이있는의 첫 번째 완료 때 다음을 시작합니다. –

+1

*** 비행중인 V *** – rlemon

+0

각각에 대해 콜백 기능을 사용하는 대신 이미지를 반복해야합니다. –

답변

1

당신은, 매 초마다 새로운 슬라이드 쇼를 시작하고있다.

$(function(){ 
    function slideshow(){ 
    $('.img4').fadeOut(2800,null,function(){ 
     $('.img3').fadeOut(2800,null,function(){ 
     $('.img2').fadeOut(2800,null,function(){ 
      $('.img1').fadeIn(2800,null,function(){ 
      $('.img2').fadeIn(2800,null,function(){ 
       $('.img3').fadeIn(2800,null,function(){ 
       $('.img4').fadeIn(2800,null,function(){ 
        slideshow(); 
       }) 
       }) 
      }) 
      }) 
     }) 
     }) 
    }) 
    } 
    slideshow(); 
}); 
+0

어리석은 실수, 고마워. – aligh

1

...

  1. 망가 이미지를 얻기 위해 개별 선택기를 사용하여 내 죄송합니다. 프로그래밍 방식으로 그 그림을 그려보십시오. 그렇지 않으면 이미지를 추가/제거 할 때마다 코드를 변경해야합니다.
  2. 콜백에 대한 콜백 코드를 반복하지 말고 매개 변수를 사용하는 함수로 만듭니다.
  3. 대신 setInterval을 사용하지 말고 setTimeout을 사용하고 콜백을 지우고 필요한 경우 새 제한 시간을 초기화하십시오.

이는 실제 코딩 문제에 책임이없는 코딩 스타일 및 모범 사례를 다루는 가장 좋은 문제라고 말했습니다. 그러나 문제는 정확히 무엇인지 명시하지 않습니다. 당신이 질문을 편집하고 그것을 정교하게 쓸 수 있다면 유용 할 것입니다.

1

커스텀 슬라이드 쇼를 제작하는 데는 충분한 이유가 있지만, 유지 보수가 불가능한 코드를 피하기 위해 플러그인을 사용할 것을 제안 할 수 있습니까? 같은 오브젝트 애니메이션을하려고 슬라이드 쇼의 수백이있을 것이다 잠시 후에 있도록

http://jquery.malsup.com/cycle/

관련 문제