7

コールバック後にフレックススライダーで新しいスライドを再初期化する問題があり、4つのスライドがスワイプ/使用された場合、機能しません。

あなたがそれをチェックしたいかもしれないjsfiddleがあります。

http://jsfiddle.net/mtgv7/3/

また、 https://github.com/woothemes/FlexSliderを介して新しい関数slide.add()とslide.remove()が実装されていることにも注意してください。これらの新しい関数については、これ以上の情報はありません。使い方がわからなかったので試してみましたが、うまくいきませんでした。

モバイルデバイスでのDOMメモリのパフォーマンスにより、後ろにスワイプすると古いスライドが復元されて新しいスライドが削除され、次に前方にスワイプすると古いスライドが削除されて新しいスライドが追加されるというサイクルのような機能が必要です。

iframe、ajaxloadHTMLなどのヘルプや提案をいただければ幸いです。

ありがとう!

4

3 に答える 3

7

私はいくつかのプロパティを探索してそれを修正することができました:

http://jsfiddle.net/mtgv7/10/

end: function(slider){    
    // remove all but the last slide
    slider.slides.not(":last").map(function(idx, slide) { slider.removeSlide(slide); });
    slider.currentSlide = 0;
    slider.count = 1; // 1 because we left 1 slide
    // add slides here
    slider.addSlide('<li>...');
}

すべてのスライドを削除する場合は.not(":last")、最初の部分からを削除して、を設定しslider.count = 0ます。

removeSlideと関数のバグのようですaddSlideので、値をリセットして動作しました。

于 2012-07-01T03:21:02.483 に答える
3

コードを掘り下げてみると、endパラメーターがslideオブジェクトを渡すことがわかりました。これは、 addSlide関数を呼び出すことができます。

$(window).load(function() {
  $('.flexslider').flexslider({
    animation: "slide",
    controlNav: false,
    directionNav: true,
    slideshow: false,
    animationLoop: false,
    end: function(slider){
      //When 4 slides are done, it creates a callback function, but the slider is broken.             
      alert("Callback after of 4 slides");
      slider.addSlide('<li><img  title="Random 2." src="http://i.imgur.com/i32ru.jpg"> <p class="flex-caption">Captions and cupcakes. Winning combination.</p> </li>');
      slider.addSlide('<li><img  title="Random 2." src="http://i.imgur.com/6sMlb.jpg"> <p class="flex-caption">Captions and cupcakes. Winning combination.</p> </li>');
   }  
  });
});​
于 2012-07-01T01:41:45.767 に答える
0

のオフセット機能を使用してslider.addSlide、新しいスライドのインデックスを指定します。例えば:

slider.addSlide('<li><img  title="Random 2." src="http://i.imgur.com/i32ru.jpg"> <p class="flex-caption">X</p> </li>', **slider.currentSlide+1**);
于 2012-07-13T20:21:55.593 に答える