0

我想在幻灯片完成时和滑块开始工作之前运行函数。我的代码如下:

$('#slider').cycle({
    swipe: true,
    fx: 'scrollHorz',
    slides: '> article',
    timeout: 7500
});

$('#slider').on( 'cycle-initialized cycle-after', function(e, optionHash, outgoingSlideEl, incomingSlideEl, forwardFlag ) {
    $(this).find('.loader').addClass('loaded');
    $(this).find('.display-selector').removeClass('out-of-place').addClass('in-place');
    $(this).find('.tablet-selector').removeClass('out-of-place').addClass('in-place');
    $(this).find('.mobile-selector').removeClass('out-of-place').addClass('in-place');
});

$('#slider').on( 'cycle-before', function(e, optionHash, outgoingSlideEl, incomingSlideEl, forwardFlag ) {
    $(this).find('.loader').removeClass('loaded');
    $(this).find('.display-selector').removeClass('in-place').addClass('out-of-place');
    $(this).find('.tablet-selector').removeClass('in-place').addClass('out-of-place');
    $(this).find('.mobile-selector').removeClass('in-place').addClass('out-of-place');
});

一切都很好,除了cycle-initialized- 它不会触发。我能做些什么?

4

1 回答 1

1

您需要在创建循环之前放置事件绑定,否则在循环初始化之前,该函数不会绑定到循环初始化的事件,并且不会被调用。

只需将其更改为此,它将起作用:

$('#slider').on( 'cycle-initialized cycle-after', function(e, optionHash, outgoingSlideEl, incomingSlideEl, forwardFlag ) {
    $(this).find('.loader').addClass('loaded');
    $(this).find('.display-selector').removeClass('out-of-place').addClass('in-place');
    $(this).find('.tablet-selector').removeClass('out-of-place').addClass('in-place');
    $(this).find('.mobile-selector').removeClass('out-of-place').addClass('in-place');
});

$('#slider').on( 'cycle-before', function(e, optionHash, outgoingSlideEl, incomingSlideEl, forwardFlag ) {
    $(this).find('.loader').removeClass('loaded');
    $(this).find('.display-selector').removeClass('in-place').addClass('out-of-place');
    $(this).find('.tablet-selector').removeClass('in-place').addClass('out-of-place');
    $(this).find('.mobile-selector').removeClass('in-place').addClass('out-of-place');
});

$('#slider').cycle({
    swipe: true,
    fx: 'scrollHorz',
    slides: '> article',
    timeout: 7500
});
于 2014-03-28T15:55:15.317 回答