0

私はflex Sliderを利用しているウェブサイトを持っています。ユーザーがスライドにジャンプできるナビゲーションがあります。

連続カルーセルスライドショーです。現在、slideshowSpeed を 6000 ミリ秒に設定しています。

問題は、ユーザーが新しいスライドにジャンプしたときに、slideshowSpeed がリセットされないことです。
たとえば、スライド 1 で 2000 ミリ秒が経過し、ユーザーがクリックしてスライド 3 に進みます。スライド 3 には 4000 ミリ秒しか残っていません。タイマーをリセットして、6000 ミリ秒のカウントを再開したいと思います。

誰でもこれを行う方法について良い考えを持っていますか? 多分それは不可能ですか?

4

1 に答える 1

0

クライアントが次に進む前に各スライドが表示される時間を決定できるという問題がありました。私は、slider.slideshowSpeedを変更すると、スライダーのslideshowSpeedプロパティが実際に変更されることを発見しましたが、影響はありません。

flexSliderコードの非最小バージョンを見ると、スライダーを初期化するときに設定したすべてのプロパティがvarsというオブジェクトに入れられていることがわかりました。したがって、スライダーを一時停止するのに必要な時間を変更するには、varsプロパティを変更します。次に、slideshowSpeedでスライダーを再開します。

//スライダーを一時停止します

.slider.pause();

//スライダーの変数を変更します

slide.vars.slideshowSpeed = parseInt(slider.slides.eq(slider.currentSlide).attr( "intermission"))* 1000;

//スライダーを再起動します

slide.resume();

ここで、slider.resume()はアニメーションを再度初期化します。

上記の例では、「intermission」と呼ばれるliに属性があり、スライドの新しい速度x1000を決定する数値が含まれているため、ミリ秒単位です。

問題については、スライダーを一時停止してから再開すると、スライダーのタイミングがリセットされると思います。

slide.pause();

slide.resume();

それを試してみてください-私はそれがあなたのために働くことを願っています。

おそらく、いくつかのプロパティGettersとSettersはFlexSliderで役立ちますが、回避策(文書化されていない場合でも)が利用可能な場合、それらを持たないことでファイルサイズを最小限に抑えることができると思います。

乾杯、ジョナサン

于 2012-05-02T22:00:39.710 に答える