0

jmpressスライダーにホバーイベントの一時停止を数日間実装しようとしましたが、うまく機能せず、最初(または2番目)のスライドの後にループが停止します。

setInterval、mouseenter/mouseleave、ホバー機能、clearTimeout、その他多くのオプションと機能を試しましたが、何もしませんでした。

ここでスライダーを見ることができます: http://www.meraloasilonido.it/04/

これはコードです。編集すると、ホバー時に停止しますが、再起動しません.jquery.jmslideshow.jsの225行目(元のファイルは編集されていません:http://www.meraloasilonido.it/04/js/slider/ jquery.jmslideshow.js ):

_loadEvents         : function() {

        var _self = this;


        // ADD THIS EDIT
        if(this.options.hoverpause && this.options.autoplay){

        $('.jms-slideshow').on('mouseenter', function(e){

                _self._stopSlideshow();

                return false;

            } );

        $('.jms-slideshow').on('mouseleave', function(e){
                _self._startSlideshow();
                _self.$jmsWrapper.jmpress( 'next' );

                return false;

            } );

        }
        // STOP EDIT

助言がありますか?

事前に感謝し、私の(下手な)英語で申し訳ありません。:/

4

1 に答える 1

1

これは少し遅れていますが、同じ問題を抱えている他の人に役立つことを願っています.

最近のプロジェクトでも同じ問題がありました。スライドショーを実行するには、もう 1 つ必要なことがわかりました。autoplay オプションをtrueに戻します。

メソッドに気付いた場合_stopSlideshow、実際にはthis.options.autoplay = false;

したがって、スライドショーがmouseleaveで再び開始されるようにするには、autoplay を true にリセットして、次のように呼び出します_startSlideshow

$('.jms-slideshow').on('mouseleave', function(){
   _self.options.autoplay   = true;
   _self._startSlideshow();
});
于 2013-11-07T07:57:53.780 に答える