Maison >interface Web >js tutoriel >Introduction aux méthodes de mise en œuvre de base du papillon des gaz et de l'anti-rebond

Introduction aux méthodes de mise en œuvre de base du papillon des gaz et de l'anti-rebond

不言
不言avant
2019-04-13 11:53:002233parcourir

Le contenu de cet article est une introduction aux méthodes de mise en œuvre de base du papillon des gaz et de l'anti-rebond. Il a une certaine valeur de référence. Les amis dans le besoin peuvent s'y référer.

Pot papillon des gaz

Les événements déclenchés sont exécutés périodiquement, et non en temps réel. Comme un robinet qui goutte.

function throttle (fn, delay) {
  // 利用闭包变量时效性
  let timeout
  let arg
  return function () {
    arg = arguments
    if (!timeout) {
      timeout = setTimeout(() => {
        fn.apply(this, arg)
        timeout = null
      }, delay)
    }
  }
}
// demo
/*
var test = throttle(function (a) {console.log(a)}, 1000)
test(1) // 不执行
test(2) // 不执行
test(3)
=> 3
test = null // 不需要时释放内存
*/

Anti-rebond

Déclenché N millisecondes après le dernier événement, comme une porte d'ascenseur.

function debounce (fn, delay){
  let timeout
  return function(){
    const args = arguments
    clearTimeout(timeout)
    timeout = setTimeout(() => {
      fn.apply(this, args)
    }, delay)
  }
}
// 用法同throttle

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer