setTimeout用法有哪些不为人知的技巧

avatar
作者
筋斗云
阅读量:2

  1. 使用setTimeout来模拟setInterval 通常情况下,我们会使用setInterval来实现定时执行某个函数的功能。但是其实我们也可以使用setTimeout来模拟setInterval的效果,只需要在定时执行的函数内再次调用setTimeout即可。
function intervalFunction() {     console.log("Hello");     setTimeout(intervalFunction, 1000); }  setTimeout(intervalFunction, 1000); 
  1. 使用setTimeout来实现延迟执行 除了设置一个固定时间后执行函数外,我们还可以利用setTimeout来实现延迟执行某个任务的效果。例如,在用户输入停止后延迟一段时间再执行某个函数。
let timeout;  function inputChange() {     clearTimeout(timeout);     timeout = setTimeout(function() {         console.log("Input stopped");     }, 1000); } 
  1. 使用setTimeout来取消执行 setTimeout返回一个标识符,我们可以利用这个标识符来取消执行定时任务。
let timeout = setTimeout(function() {     console.log("Hello"); }, 1000);  // 取消执行 clearTimeout(timeout); 
  1. 使用setTimeout来实现动画效果 在前端开发中,我们可以利用setTimeout来实现简单的动画效果,通过不断改变元素的属性值并使用setTimeout递归调用来达到动画效果。
let element = document.getElementById("element"); let position = 0;  function moveElement() {     position += 1;     element.style.left = position + "px";          if (position < 100) {         setTimeout(moveElement, 10);     } }  moveElement(); 

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!