jQuery Cycle插件“之前”事件不起作用?

时间:2012-02-12 03:33:24

标签: jquery events plugins cycle

我正在使用jQuery Cycle插件。

我在幻灯片下方有一个“当前#/总#”计数器类型的东西。我在每次转换后更新“当前#”。 我成功使用“after”回调事件,但“before”事件似乎不适用于第一次转换。我希望当前#改变之前幻灯片图像转换到下一个,而不是转换后。 以前有人有过这个问题吗?

我有以下代码:

slideshow.cycle({ 
    timeout: 6000,
    next: '#nextImage', 
    prev: '#prevImage',
    after: setCurrent
});

function setCurrent(curr,next,opts) {
    $('#imageNumber').html(opts.currSlide + 1);
}

[编辑]

我可以使用以下代码解决此问题:

slideshow.cycle({ 
    timeout: 6000,
    next: '#nextImage', 
    prev: '#prevImage',
    before: setCurrent
});

function setCurrent() {
    var image = $(this);
    $('#imageNumber').html(image.index() + 1);
}

1 个答案:

答案 0 :(得分:1)

'之前'/'之后'回调方法不带参数。在方法的上下文中(即setCurrent for you),您可以使用'this'作为要呈现的项目。

参考:http://jquery.malsup.com/cycle/int2.html

所以你需要做一些类似的事情:

function setCurrent() {
  $('#imageNumber').html(this.id + 1);
}

注意:我不知道您的其余代码,因此您可能需要调整...