setTimeout用于指定时间后运行函数或表达式 => clearTimeout用于阻止函数的执行
setInterval用于按指定周期循环运行函数或表达式 => setInterval() 方法会不停地调用函数,直到clearInterval() 被调用或窗口被关闭
1、setTimeout一般实现方法
(1) 3 秒(3000 毫秒)后弹出 "Hello" :
setTimeout(function(){ alert("Hello"); }, 3000);
(2) 鼠标放在图片上1s后show出Hello!,小于1s则不显示
$('#image').mouseover(function(){
myVar = setTimeout(alertFunc, 1000);
})
function alertFunc() { alert("Hello!"); }
$('#image').mouseout(function(){
clearTimeout(myVar);
})
2、setTimeout传参时会失效
问题:myVar = setTimeout(alertFunc(xx), 1000); 当传入参数xx时,setTimeout会失效,alertFunc(xx)会立即执行
解决方法:(1)用匿名函数包裹 (2)用引号包裹需调用的函数
参考:https://www.cnblogs.com/shifu204/p/7001924.html
参考:http://www.manongjc.com/article/143583.html
(1)myVar = setTimeout(function(){alertFunc(xx)}, 1000);
(2)myVar = setTimeout("alertFunc('+xx+')", 1000);