Javascript X秒后过期或超时永无止境循环

Javascript X秒后过期或超时永无止境循环,javascript,Javascript,我怎样才能在5秒后停止这个过程 <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script> <script type="text/javascript"> function changeBanner(){ // my change banner code } window.onload = funct

我怎样才能在5秒后停止这个过程

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
<script type="text/javascript">
    function changeBanner(){ 
        // my change banner code
    }
    window.onload = function () { setInterval(changeBanner, 100) };
</script>
但这没什么区别

我希望它在大约5秒钟后停止

存储由
setInterval
给出的返回值,并将其与
clearInterval

var timer = setInterval(changeBanner, 100);
setTimeout(function() {
    clearInterval(timer)
}, 5000);
还有几个库实现了函数包装器来实现同样的功能。例如,在中,您可以使用
之前:

var changeBannerLimited = _.before(50, changeBanner);
var timer = setInterval(changeBannerLimited, 100);
请注意,与使用
clearInterval
相反,这将永远继续调用changeBannerLimited函数,但是在被调用50次(10*5秒)后,它将不再将调用传递给changeBanner

另一方面,我选择了underline.js,因为我非常了解它,而且它提供了良好的格式,因此您可以轻松了解幕后的真实情况

我希望它在大约5秒钟后停止

存储由
setInterval
给出的返回值,并将其与
clearInterval

var timer = setInterval(changeBanner, 100);
setTimeout(function() {
    clearInterval(timer)
}, 5000);
还有几个库实现了函数包装器来实现同样的功能。例如,在中,您可以使用
之前:

var changeBannerLimited = _.before(50, changeBanner);
var timer = setInterval(changeBannerLimited, 100);
请注意,与使用
clearInterval
相反,这将永远继续调用changeBannerLimited函数,但是在被调用50次(10*5秒)后,它将不再将调用传递给changeBanner


另一方面,我之所以选择下划线.js,是因为我非常了解它,而且它提供了良好的格式,因此您可以轻松了解幕后的真实情况。

您可以将
setInterval
的返回值存储到一个变量中,以便以后可以取消它:

function changeBanner(){ 
    // my change banner code
}
window.onload = function () {
    var id=setInterval(changeBanner, 100);
    window.setTimeout(function() {
        window.clearInterval(id);
    },5000);
};

您可以将
setInterval
的返回值存储到一个变量中,以便以后可以取消它:

function changeBanner(){ 
    // my change banner code
}
window.onload = function () {
    var id=setInterval(changeBanner, 100);
    window.setTimeout(function() {
        window.clearInterval(id);
    },5000);
};

setInterval
输出保存在变量中,以便能够调用
clearInterval

 window.onload = function () {

  var job= setInterval(changeBanner, 100) ;
  setTimeout(clearInterval(job), 5000)

};

setInterval
输出保存在变量中,以便能够调用
clearInterval

 window.onload = function () {

  var job= setInterval(changeBanner, 100) ;
  setTimeout(clearInterval(job), 5000)

};
使用clearInterval

window.onload = function () {
    var bannerInterval = setInterval(changeBanner, 100);
    setTimeout(function() {
        clearInterval(bannerInterval);
    }, 5000);
};
使用clearInterval

window.onload = function () {
    var bannerInterval = setInterval(changeBanner, 100);
    setTimeout(function() {
        clearInterval(bannerInterval);
    }, 5000);
};

哇!谢谢大家的快速回复。哇。谢谢大家的快速回复。我不是前端开发人员,这只是一个原型应用程序。所以我可能会使用clearInterval答案,谢谢。我甚至从未听说过underline.js,但如果我开始做更多的前端,我会记住它!我不是前端开发人员,这只是一个原型应用程序。所以我可能会使用clearInterval答案,谢谢。我甚至从未听说过underline.js,但如果我开始做更多的前端,我会记住它!