悬停时滑块暂停

时间:2012-12-04 14:18:17

标签: javascript jquery slider

我已经尝试将悬停事件暂停到jmpress滑块上几天了,但它不能正常工作,它会在第一次(或第二次)幻灯片后停止循环。

我尝试过:setInterval,mouseenter / mouseleave,hover功能,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

有什么建议吗?

提前致谢并抱歉我的(坏)英语。 :/

1 个答案:

答案 0 :(得分:1)

这有点晚了,但希望能帮助其他人解决同样的问题。

我在最近的一个项目中遇到了同样的问题;事实证明我们还需要做一件事来让幻灯片显示运行:将自动播放选项设置回 true

如果您注意到方法_stopSlideshow,它实际上有 this.options.autoplay = false;

因此,要在 mouseleave 上重新开始幻灯片放映,我们只需将自动播放重置为true并调用_startSlideshow

$('.jms-slideshow').on('mouseleave', function(){
   _self.options.autoplay   = true;
   _self._startSlideshow();
});