我有一个 thymeleaf 模板,其中包含这段代码:
$(document).ready(function() {
(function() {
alert('lalala');
// do some stuff
setTimeout(arguments.callee, 1000);
})();
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
我希望每秒都能在页面中看到警报,]但是没有任何反应,并且我在控制台中没有看到任何错误
最佳答案
如果我没记错的话,
arguments.callee
已被弃用。
如果您想每 x
毫秒执行一段代码,这可能适合您。使用 setInterval
代替 setTimeout
。
function repeatMe() {
console.log("Lalala");
//alert("Lalala");
}
var interval = setInterval(repeatMe, 1000);
repeatMe(); // To start it immediately
// Use this to stop the interval:
// clearInterval(interval);
如果您确实需要使用 setTimeout
而不是 setInterval
,只需从 repeatMe
函数再次调用 setTimeout
即可.
关于javascript - 每 X 秒调用一个函数不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48944809/