0

我有以下功能可以在几个 div 之间进行动画处理:

   jQuery('.nav').click(
        function hideShow () { 
            var targ  = jQuery(this)[0].className.split(' ')[1];
            jQuery('.slide.' +targ).addClass('active').animate({opacity:1});
            jQuery('.slide:not(.active)').animate({opacity:0});

            if(jQuery('.slide').css('opacity') == 0) {
               jQuery('.slide').removeClass('active');
            }
        }
    );

我想使用以下方法自动运行它:

setTimeout(function() {
    triggerClick('.nav', 0),
    hideShow();
}, 5000);

function triggerClick(selector, index) {
    var slideNav= jQuery(selector);
    var mod = index++ % slideNav.length;
    jQuery(slideNav[mod]).trigger('click');
    setTimeout(function() {
        triggerClick(selector, index);
    }, 5000);
}

基本上我想每 5 秒运行一次 hideshow 函数来重置我的滑块项目的不透明度,但我不知道我做错了什么?

谢谢你的帮助!

4

1 回答 1

0

我通过首先删除我的点击功能中的活动来解决它:

   jQuery('.nav').click(
        function () { 
            var targ  = jQuery(this)[0].className.split(' ')[1];
            jQuery('.slide').removeClass('active');
            jQuery('.slide.' +targ).addClass('active').animate({opacity:1});
            jQuery('.slide:not(.active)').animate({opacity:0});

            if(jQuery('.slide').css('opacity') == 0) {
               jQuery('.slide').removeClass('active');
            }
        }
    );

更新了小提琴http://jsfiddle.net/vrFVu/2/

于 2013-06-04T05:43:25.107 回答