Rumah >hujung hadapan web >tutorial js >setTimeout方法怎么使用

setTimeout方法怎么使用

不言
不言asal
2019-01-30 16:26:2122885semak imbas

setTimeout()方法将在以毫秒为单位指定的时间后调用函数,setTimeout方法需要2个参数:对回调函数的引用和以毫秒为单位的延迟,本篇文章我们就来看一下setTimeout方法的具体用法。

JavaScript

我们先来看一下setTimeout的基本语法

setTimeout(function, milliseconds, param_one, param_two, ...)

要停止setTimeout并阻止执行该函数,需要使用clearTimeout()方法。

setTimeout()方法返回一个可以在clearTimeout()方法中使用的ID。

我们来看一个简单的示例

代码如下

<!DOCTYPE html>
<html>
<body>

<script>
  var sampleVar;
  function sampleFunction(){    
    sampleVar = setTimeout(alertFunc, 2000);
  }
  function alertFunc(){    
    alert("Two seconds have passed!");
  }
  sampleFunction();
</script>

</body>
</html>

以上代码在2秒后会打开弹窗。

示例2

此示例将每2秒(3次)更改元素的文本。为此,必须将某些HTML元素的ID设置为“counter”。

代码如下

<!DOCTYPE html>
<html>
<body>

<p>单击下面的按钮。输入字段将显示经过2、4和6秒。</p>

<button onclick="timedText()">Display timed text</button>

<input type="text" id="text">

<script>
function timedText() {
    var x = document.getElementById("text");
    setTimeout(function(){ x.value="2 seconds" }, 2000);
    setTimeout(function(){ x.value="4 seconds" }, 4000);
    setTimeout(function(){ x.value="6 seconds" }, 6000);
}
</script>

</body>
</html>

浏览器上显示效果如下

setTimeout方法怎么使用

当点击左侧按钮,就会在文本框中显示经过了2、4、6秒

如果在计时器用完之前调用“samplestopfunction”,则此示例将停止“timeout”。

代码如下

<!DOCTYPE html>
<html>
<body>

<p>等待3秒钟后,单击第一个按钮显示“Hi”。</p>
<p>单击第二个按钮以阻止执行第一个函数<br>(必须在3秒钟前单击它)</p>

<button onclick="sampleFunction()">Try it</button>
<button onclick="sampleStopFunction()">Stop the alert</button>

<script>
var sampleVar;

function sampleFunction() {
 sampleVar = setTimeout(function(){ alert("Hi") }, 2000);
}

function sampleStopFunction() {
 clearTimeout(sampleVar);
}
</script>

</body>
</html>

浏览器上显示效果如下

JavaScript

本篇文章到这里就全部结束了,更多精彩内容大家可以关注php中文网相关栏目教程!!!

Atas ialah kandungan terperinci setTimeout方法怎么使用. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel sebelumnya:setInterval方法怎么使用Artikel seterusnya:match方法怎么使用