4

スワイパー ( http://www.idangero.us/sliders/swiper/api.php ) に問題があります... ページ 1 にいて、ページ 2 に切り替えると、スライダーが最初のスライド。mySwiper.swipeTo(0, 0, false); を設定しました。ショーの前にページに表示され、機能しません。奇妙なことは、2 番目または 3 番目のスライド (例: mySwiper.swipeTo(1, 0, false) または mySwiper.swipeTo(2, 0, false)) に切り替えると完全に機能することですが、最初のスライド (0) では単純に切り替わりません。何故ですか?ありとあらゆることを試しました。最初のスライドでは切り替えず、他のスライドでのみ切り替えます。機能する唯一の方法は onpageshow ですが、最初に 1 つのスライドを表示し、別のスライドを表示するため、醜いです.. mySwiper.swipePrev(); も試しました。数回ですが、スライド 2 でブロックされます。最初のスライドには進みません。

アップデート:

jsfiddle の例を次に示します: http://jsfiddle.net/alecstheone/9VBha/103/

つまり... 2 ページ目に移動して 3 番目のスライドにスワイプすると、右クリックして戻るよりも 2 ページに戻るよりも、スワイパーがまだスライド 3 にあり、設定したようにページ 1 にあるはずです

mySwiper.swipeTo(0, 1, true);  

私が設定した場合:

mySwiper.swipeTo(1, 1, true);  
or
mySwiper.swipeTo(2, 1, true);  

それは動作します... 0でのみ動作しません...

また、swiper の 1.8.0 バージョンではそのコマンドが機能することにも気付きましたが、最新 (2.6.0) では機能しません。

4

4 に答える 4

3
 const swiper2 = new Swiper('.swiper-container2', {
  direction: 'vertical',
  slidesPerView: 1 ,
  initialSlide : 2,
});

initialSlide を使用して最初のスライドを設定できます

于 2021-04-28T06:12:49.293 に答える
1

この議論の数か月後、私は同じ問題を抱えていました。私はそれが問題を解決する醜い方法であることを知っていますが、私が見つけた唯一の方法です:

mySwiper.swipeTo(0)を呼び出すと、以下の行:

if (newPosition === currentPosition) return false;

newPosition = 0 および currentPosition = 0 であるため、false を返し、スワイプを適用しません。

だから私はメソッドのこの行を

if (newPosition === currentPosition && newPosition !== 0) return false;

そしてそれは今うまくいきます。

于 2015-01-04T13:01:46.090 に答える