jQuery仅在滑块div处于活动状态时设置动画

时间:2012-04-10 21:16:44

标签: jquery jquery-plugins

这是代码:http://jsfiddle.net/duNHJ/2/

基本上每个div都有一个动画,所以当我点击下一个或上一个滑块时,动画脚本只在激活div时运行。目前它在开始时动画了所有这些。

使用http://www.malsup.com/jquery/cycle/

另外如何在激活的div上添加活动类?

2 个答案:

答案 0 :(得分:1)

关于您的第一个问题,我不太确定您想要什么,但是关于添加/删除活动状态类,请参阅以下示例:

http://jsfiddle.net/duNHJ/27/

答案 1 :(得分:0)

任何脚本都会在加载后立即运行。此外,使用选择器$('.test'),动画将在类test的所有元素上运行。你想在div改变时制作动画。 jQuery Cycle Plugin提供了回调方法:

$('#example').cycle({ 
    fx:     'scrollLeft', 
    timeout: 5000, 
    before:  onBefore, 
    after:   onAfter 
});

在转换之前调用函数onBefore(),之后调用onAfter()。在您的情况下,只需使用onAfter()(并删除内联脚本):

function onAfter() {
    // $(this) references the current slide
    $(this).animate({
        top: "100px"
    }, 1000);
}

$('#s6').before('<div id="nav">').cycle({
    fx: 'fade',
    timeout: 6000,
    delay: -2000,
    pager: '#nav',
    next: '#next2',
    prev: '#prev2',
    activePagerClass: 'activeSlide',
    after: onAfter
});

演示:http://jsfiddle.net/jtbowden/cmwc3/

我不确定你想要发生什么动画,但这应该让你开始。