如何在循环插件中禁用/启用导航按钮?

时间:2014-12-23 19:38:54

标签: jquery jquery-cycle cycle-plugin

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

我试图在滑动时禁用导航按钮,但它无效。

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检查isNext是否为boolean。在此条件之前,我做了一个测试,在导航链接上添加属性,它添加了属性,但它没有阻止prev / next功能。如何禁用/启用它?一些帮助将不胜感激

1 个答案:

答案 0 :(得分:0)

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

类似的东西:

//just finished setting up the plugin
$("#prev,#next").on("click", function(e) {
    if(isNext) e.stopPropagation();
});