0

我已经尝试对 jmpress 滑块实施暂停悬停事件几天,但它不能正常工作,它会在第一次(或第二次)滑动后停止循环。

我尝试了: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

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

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

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

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

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