0

現在test2.applicationcreations.netでテストされているサイトを作成しています。画像を動的に変更する画像ギャラリー付き。スライダーにswipeJSを使用しています。

プロジェクトギャラリーに移動してからカスタムホームに移動すると、正しいフォーマットの新しいHTMLが読み込まれますが、ローテーターは機能しません。問題は、swipeJSが新しいコードで初期化されていないことだと思います。を使用して新しいアイテムをオブジェクトに渡そうとしましたwindow.mySwipe = new Swipe(document.getElementById('slider'));が、うまくいきませんでした。

何らかの理由で、Chrome 18 OS Xの要素の検査をクリックすると、ローテーターは新しいコンテンツで動作します。

これを機能させるための助けは大歓迎です。ありがとうございました。

4

1 に答える 1

1

はい、正解です。新しい要素を追加したら、mySwipeオブジェクトを再初期化するだけです。

これは、スワイプスライダーオブジェクトの最初の初期化です。

/*----------------------------------------
  Swipe slider to enable touch sliding
----------------------------------------*/
document.mySwipe = new Swipe(document.getElementById('slider'), {
  startSlide: 0,
  speed: 400,
  auto: 5000,
  callback: function(event, index, elem) {
    // do something cool
  }
});

ここで、スワイプオブジェクトを再初期化するメソッドを定義するだけです。

/*----------------------------------------
  Reinitializing the Swipe Slider.
----------------------------------------*/
document.reinit = function(){
  document.mySwipe = new Swipe(document.getElementById('slider'), {
    startSlide: 0,
    speed: 400,
    auto: 5000,
    callback: function(event, index, elem) {
      // do something cool
    }
  });
}

既存のスライダーに新しい要素を追加し終えたら、そのメソッドを呼び出します。

// Finished adding new elements
document.reinit();
于 2012-10-30T06:39:12.717 に答える