我已经尝试将悬停事件暂停到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
有什么建议吗?
提前致谢并抱歉我的(坏)英语。 :/
答案 0 :(得分:1)
这有点晚了,但希望能帮助其他人解决同样的问题。
我在最近的一个项目中遇到了同样的问题;事实证明我们还需要做一件事来让幻灯片显示运行:将自动播放选项设置回 true 。
如果您注意到方法_stopSlideshow
,它实际上有 this.options.autoplay = false;
因此,要在 mouseleave 上重新开始幻灯片放映,我们只需将自动播放重置为true并调用_startSlideshow
:
$('.jms-slideshow').on('mouseleave', function(){
_self.options.autoplay = true;
_self._startSlideshow();
});