Notice: 函数 WP_Scripts::localize 的调用方法不正确$l10n 参数必须是一个数组。若要将任意数据传递给脚本,请改用 wp_add_inline_script() 函数。 请查阅调试 WordPress来获取更多信息。 (这个消息是在 5.7.0 版本添加的。) in /data/www/appblog/wp-includes/functions.php on line 6131

JS定时器整理(执行一次、重复执行)

在JavaScript中,有两个关于定时器的专用函数,分别为:

  • 倒计定时器:timename = setTimeout("function();", delaytime);
  • 循环定时器:timename = setInterval("function();", delaytime);

第一个参数function()是定时器触发时要执行的动作,可以是一个函数,也可以是几个函数,函数间用;隔开即可

比如要弹出两个警告窗口,便可将function();换成alert('第一个警告窗口!');alert('第二个警告窗口!');

而第二个参数delaytime则是间隔的时间,以毫秒为单位,即填写5000,就表示5秒钟

倒计时定时器是在指定时间到达后触发事件,而循环定时器就是在间隔时间到来时反复触发事件,两者的区别在于:前者只是作用一次,而后者则不停地作用。即setInterval为自动重复,setTimeout不会重复

clearTimeout(对象) 清除已设置的setTimeout对象;clearInterval(对象) 清除已设置的setInterval对象

两种函数的格式:

<script>
//定时器 异步运行
function hello() {
  alert("hello");
}

//使用方法名字执行方法
var t1 = window.setTimeout(hello, 1000);
var t2 = window.setTimeout("hello()", 3000); //使用字符串执行方法
window.clearTimeout(t1); //去掉定时器
</script>
<script>
function hello() {
  alert("hello");
}

//重复执行某个方法
var t1 = window.setInterval(hello, 1000);
var t2 = window.setInterval("hello()", 3000);
//去掉定时器的方法
window.clearInterval(t1);
</script>
上一篇 JS遍历对象、map及数组
下一篇 jQuery模拟form表单提交