0

我正在使用循环插件来滑动内容。当我在滑动时多次单击上一个或下一个按钮时,它只会在动画完成之前跳转到另一张幻灯片。

我试图在滑动时禁用导航按钮,但它不起作用。

js:

$('#slider ul').cycle({
    timeout: 0,
    fx: 'scrollHorz',
    prev: '#prev',
    next: '#next',
    after: onAfter,
    onPrevNextEvent: function(isNext, zeroBasedSlideIndex, slideElement){
        $('#nav a').attr('disabled','disabled');
        if (isNext == true || isNext == false) {
            console.log('bool')
        }
    }
});
function onAfter(curr, next, opts) {
    var index = opts.currSlide;
    $('#prev')[index == 0 ? 'hide' : 'show']();
    $('#next')[index == opts.slideCount - 1 ? 'hide' : 'show']();
}

我正在使用回调onPrevNextEvent来检查是否isNextboolean. 在这种情况之前,我进行了测试以在导航链接上添加属性,它正在添加属性,但它不会阻止 prev/next 功能。如何禁用/启用它?一些帮助将不胜感激

4

1 回答 1

0

您不能更改插件代码中的点击行为吗?也许在初始化循环插件后不久,您可以抛出一个额外的事件来防止传播。这样,如果isNext为真,它将阻止点击事件触发插件的操作。

就像是:

//just finished setting up the plugin
$("#prev,#next").on("click", function(e) {
    if(isNext) e.stopPropagation();
});
于 2014-12-23T20:39:40.717 回答