1

我们如何在新的jQuery循环中添加回调函数之前,链接在这里http://jquery.malsup.com/cycle2

我确实使用 jQuery 循环(旧版本),但我不知道如何实现 cycle2(新版本)

http://jsfiddle.net/3vjgJ/2/

旧版本循环的jQuery代码示例(功能代码后检查)

$('#mySlideshow').cycle({ 
    fx:     'scrollHorz', 
     after: function() {
        $('ul li').removeClass('test');
        $(this).addClass('test') 
    }
});

<ul id="mySlideshow" class="cycle-slideshow" data-cycle-fx="scrollHorz" data-cycle-slides="li" data-cycle-timeout="0" data-cycle-prev=".prev" data-cycle-next=".next">
   <li><img src="http://placehold.it/350x150" alt=""></li>
   <li><img src="http://placehold.it/350x150" alt=""></li>
</ul>
<a href=# class="prev">Prev</a>
<a href=# class="next">Next</a>
</ul>
4

1 回答 1

4

如果您阅读网站上的常见问题解答,Cycle2 与 Cycle 不同。在 Cycle2after函数中不再使用。如果您将以下行添加到您的代码中,它应该可以工作:

$('#mySlideshow').on('cycle-after',function(e, optionHash, outgoingSlideEl, incomingSlideEl, forwardFlag){
    $('ul li').removeClass('test');
    $(incomingSlideEl).addClass('test') 
});

您可以删除

after: function() {
    $('ul li').removeClass('test');
    $(this).addClass('test') 
}

此外,Cycle2 无需添加该$('#mySlideshow').cycle({ .. })位即可工作。

所以你可以有

$('#mySlideshow').on('cycle-after',function(e, optionHash, outgoingSlideEl, incomingSlideEl, forwardFlag){
    $('ul li').removeClass('test');
    $(incomingSlideEl).addClass('test') 
});

一切都应该工作。http://jsfiddle.net/3vjgJ/12/

于 2013-07-11T10:56:35.600 回答