-1

私を助けて、ここで何が問題なのか教えてください....また、私が設定したときにjqプラグインを使用したくありません。

<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>
4

3 に答える 3

1

カスタム スライド ショーを作成するのには十分な理由があると思いますが、保守できないコードを回避するためにプラグインを使用することを提案できますか?

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

于 2012-05-31T12:16:02.367 に答える
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();
});
于 2012-05-31T12:16:57.167 に答える
1

ここにはかなりの数の間違いがあります...

  1. 個々のセレクターを使用して画像を取得しないでください。それ以外の場合は、画像を追加/削除するたびにコードを変更する必要があります。
  2. コールバックのコールバック コードを繰り返さないでください。パラメータを受け取る関数にします。
  3. setInterval代わりに使用しsetTimeoutないでください。コールバックをクリアし、必要に応じて新しいタイムアウトを初期化してください。

とはいえ、これらはコーディング スタイルとベスト プラクティスを扱うベストな問題であり、必ずしも実際の問題の責任を負うものではありません。しかし、問題が何であるかを正確に述べることは決してありません。質問を編集して詳しく説明できると便利です。

于 2012-05-31T12:15:09.687 に答える