Javascript:只运行一次setInterval
可能重复:Javascript:只运行一次setInterval,javascript,html,iframe,setinterval,Javascript,Html,Iframe,Setinterval,可能重复: 我只想运行下面的代码一次,因此在2秒钟后它将更改iframe的src,但不会一次又一次地尝试 <script type="text/javascript"> setInterval(function () {document.getElementById('iframe').src = "http://www.y.com";}, 2000); </script> setInterval(函数(){document.getElementBy
我只想运行下面的代码一次,因此在2秒钟后它将更改iframe的src,但不会一次又一次地尝试
<script type="text/javascript">
setInterval(function () {document.getElementById('iframe').src = "http://www.y.com";}, 2000);
</script>
setInterval(函数(){document.getElementById('iframe')。src=”http://www.y.com";}, 2000);
您正在寻找的setTimeout()
,它正是这样做的。使用,您可以在Mozilla站点上查看更多详细信息。是的
window.setTimeout(function(){
// code to run after 5 seconds...
}, 5000);
或者通过将您的方法置于外部上下文中
function myMethod(){
// code to run after 5 seconds...
};
window.setTimeout(myMethod, 5000);
如果您有一个不打算仅在超时情况下执行的方法,则后者非常有用。您的代码实际上运行了两次;)。不过这不是我的反对票。谢谢大家提醒:)编辑的..第二个方法仍然不正确,它会立即运行,5秒钟后再次运行,如果
myMethod
将返回对函数的引用:-(.Hmm…您只需要从myMethod()
-->窗口中删除括号。setTimeout(myMethod,5000);
,但当您需要将参数传递给myMethod()
时,这是一种很好的形式。