-5

私のjqueryコードの流れについて助けが必要です。スライドショーが機能するようになり、さらに一歩進んでナビゲーション ボタン/画像を追加することにしました。

以下のコードでは、最初に 1 つの div でテストしています。div は後で画像またはボタンになります。とにかく、divをクリックすると、スライドショーがスライドショーの最初の画像に移動するようにしています。

現在、私が抱えている重要な問題は、以下のコードで機能することですが、クリックしてから最初の画像を表示するのに5秒かかるということです。タイムアウト機能のために推測しています。

これは、slideShow 関数に含まれるコードのスニペットに過ぎないことに注意してください。

$("#slidecontrol2").click(function(){
    next.removeClass('is-showing');
    $('#container').children(':first').children(':first').addClass('is-showing');


  });

  setTimeout(slideShow, 5000);

click() 関数の後、タイムアウト関数の前にもう一度関数を呼び出してみました。

 $("#slidecontrol2").click(function(){
        next.removeClass('is-showing');
        $('#container').children(':first').children(':first').addClass('is-showing');
        **slideShow ();**

      });

      setTimeout(slideShow, 5000);

それは機能しますが、私の画像は非常に速くなり、あえてもう一度クリックすると、速度が上がり、よりクレイジーになります。

誰でも助けてください!!

4

1 に答える 1

0

パラメータを使用しないことに気付いたslideShowので、「表示されている」スライドと次のスライドを自分で見つける必要があります。また、スライドショーを自動的に実行したいと思います(これはあなたの行から収集しました)。また、要素setTimeout(slideShow, 5000);をクリックすると次のスライドに進みたいと思います。slidecontrol2このslideShowプログレッシブアクションを処理するため、コードは次のようになります(以下の擬似コード)。

var slideShow = function(){
    //Fades out current image, 
    //finds next image with class "is-showing" and fades it in
}

$(document).ready(function(){
    //Adds click handler to advance slideshow on click of button
    $("#slidecontrol2").click(function(){
        slideShow();
    });

    //Begins slideshow on load of page
    setTimeout(slideShow, 5000);
});
于 2012-11-15T21:36:41.460 に答える