1

我使用以下代码每 1 秒隐藏和显示一个 div

$(document).ready(function(e) {
    var acc = setInterval(function(){
        $("#element").fadeOut(function(){
            setTimeout(function(){
                $("#element").fadeIn()  
            }, 1000)    
        })
    }, 200)
})

$(window).load(function(){
    setTimeout(function(){
        clearInterval(acc);
    }, 10000)
})

无法正常工作,clearInterval()我在 Google Chrome 上收到以下错误:

未捕获的 ReferenceError:未定义 acc

演示:http: //jsfiddle.net/enve/4GWvM/

4

2 回答 2

6

您的代码中存在范围问题,您已acc在文档就绪处理程序的上下文中本地定义了变量,并且未在load处理程序的上下文中定义它。

于 2012-12-22T20:13:12.253 回答
2

尝试在回调之外acc重新定义变量。.ready

var _acc = function(callback) {
    return setInterval(callback, 1000);
};

var acc = null;

$(document).ready(function() {
    acc = _acc(function() {
        $("#element").fadeOut(function(){
            setTimeout(function(){
                $("#element").fadeIn()  
            }, 1000)    
        })
    });
});

...
于 2012-12-22T20:14:15.483 回答