flexslider を使用して一連の写真を表示しています。Ajax を介して、定期的に 30 秒ごとに新しいスライド セットを取得します。addSlide()
flexslider 内のスライド セットの更新は、 andを使用して多かれ少なかれ問題なく実行できremoveSlide()
ますが、副作用が伴います。
1) currentSlide
flexslider の変数が最後のスライドを超えて進みます。これらのスライドは存在しないため、空のスライドが表示されます。そこで、currentSlide
ポインターをループする修復コードをいくつか追加しました。
current = slider.currentSlide;
...slider.addSlide(...);
...slider.removeSlide(...);
slider.currentSlide = current < slider.count ? current : slider.count - 1;
これは問題を解決しますが、かなり醜いです。
2) 次の課題は、スライドの更新中に flexslider の管理がめちゃくちゃになることです。これにより、スライドの順序が変更され(私はそれで十分です)、スライドの数が不規則になり、スライドの方向が逆になり、空のスライドが表示されます。
テストとして、「after」イベントでコードをトリガーしました。
after : function(slider) {updateImages(slider)}
潜在的な競合状態を回避するために、しかし残念ながら、これは状況を改善しませんでした.
slider.flexslider("pause")
3)およびslider.flexslider("start")
メソッドを使用して、更新中に flexslider ショーを停止および開始しようとしました。残念ながら、これは役に立ちません。
私は何か完全に間違ったことをしていて、非常に本質的なことを忘れているような印象を受けます. 誰かが手がかりを持っていますか?