设置setInterval以交替运行2个函数

时间:2015-05-25 12:44:27

标签: jquery

我希望在2秒后交替调用两组Interval功能 就像我想要的那样,在2秒后第一个功能运行然后在2秒后,第二个功能运行然后再次重复该过程 这样的事情: -

$('.slider ul').animate({marginLeft:'-' + slider_w},500)
},2000),setInterval(function(){
$('.slider ul').animate({marginLeft:'0'},500)
},2000)

2 个答案:

答案 0 :(得分:2)

使用计数器来交替调用函数。

var counter = 1;
setInterval(function() {
    if (counter++ % 2) {
        func1(); // Call Function 1
    } else {
        func2(); // Call Function 2
    }
}, 2000);

答案 1 :(得分:1)

使用您当前的设置,您无需替代。您只需检查当前的css值

即可
var newMargin = 0;

setInterval(function() {
    if ($('.slider ul').css('margin-left') == 0) {
        newMargin = slider_w * -1;
    } else {
        newMargin = 0;
    }

    animateSlider(newMargin);
}, 2000);

function animateSlider(newMargin) {
    $('.slider ul').animate({
        marginLeft: newMargin
    }, 500);
}
相关问题