mirror of
https://github.com/pinry/pinry.git
synced 2025-11-17 18:30:39 +01:00
Feature: Optimize resize events trigger
This commit is contained in:
committed by
Isaac Bythewood
parent
488138767f
commit
051c1735d6
@@ -198,21 +198,28 @@ Vue.component('pin-container', {
|
||||
});
|
||||
|
||||
(function() {
|
||||
var throttle = function(type, name, obj) {
|
||||
obj = obj || window;
|
||||
var running = false;
|
||||
var func = function() {
|
||||
if (running) { return; }
|
||||
running = true;
|
||||
requestAnimationFrame(function() {
|
||||
obj.dispatchEvent(new CustomEvent(name));
|
||||
running = false;
|
||||
});
|
||||
};
|
||||
obj.addEventListener(type, func);
|
||||
};
|
||||
var previousResize = 0;
|
||||
var throttle = function(type, name, obj) {
|
||||
obj = obj || window;
|
||||
var running = false;
|
||||
var func = function() {
|
||||
if (running) { return; }
|
||||
var now = new Date().getTime();
|
||||
console.log(now, previousResize, now - previousResize);
|
||||
if ((now - previousResize) < 200) {
|
||||
return
|
||||
}
|
||||
previousResize = now;
|
||||
running = true;
|
||||
requestAnimationFrame(function() {
|
||||
obj.dispatchEvent(new CustomEvent(name));
|
||||
running = false;
|
||||
});
|
||||
};
|
||||
obj.addEventListener(type, func);
|
||||
};
|
||||
|
||||
throttle("resize", "optimizedResize");
|
||||
throttle("resize", "optimizedResize");
|
||||
})();
|
||||
|
||||
var app = new Vue({
|
||||
|
||||
Reference in New Issue
Block a user