Vue最新の手ぶれ対策(必見編)


関数の手ぶれ防止(debounce):イベントが継続してトリガされた時、一定期間内にイベントが再起動されなくなり、イベント処理関数は一回だけ実行されます。設定された時間が来る前に、もう一度イベントがトリガされたら、再度遅延を開始します。クリを挙げて、scroll事件を継続的にトリガする時、handle関数を実行しないで、1000ミリ秒以内にscroll事件を触発しない時、やっと延長してscroll事件を触発します。
関数・スロットル:イベントを継続的にトリガすると、一定期間に一度だけイベント処理関数を呼び出すことができます。節流は通俗的に説明します。例えば、蛇口を放水して、バルブを開けたら、水がジャージャーと下に流れて、勤倹節約の優れた伝統的な美徳を持っています。蛇口を少し閉めます。できれば、私達の心の中で一定の規則に従って、ある時間の間に一滴ずつ下に垂らしてください。クリを挙げて、scroll事件を継続的にトリガする時、直ちにhandle関数を実行しないで、1000ミリ秒ごとにやっと一回のhandle関数を実行することができます。
手ぶれ防止例:

<script>
const delay = (function () {
 let timer = 0
 return function (callback, ms) {
  clearTimeout(timer)
  timer = setTimeout(callback, ms)
 }
})()
export default {
methods:{
fn() {
   delay(() => {
    //    
   }, 500)
}
}
}
</script>
ストリームの例:

var throttle = function(func, delay) {      
  var timer = null;      
  return function() {        
    var context = this;        
    var args = arguments;        
    if (!timer) {          
      timer = setTimeout(function() {            
        func.apply(context, args);            
        timer = null;          
      }, delay);        
    }      
  }    
}    
function handle() {      
  console.log(Math.random());    
}    
window.addEventListener('scroll', throttle(handle, 1000));

以上のこのVue最新の手ぶれ対策(必見編)は小編が皆さんに提供した内容の全部です。参考にしていただければと思います。どうぞよろしくお願いします。