onresize 可用于了解窗口已调整大小。在窗口调整大小之前是否有任何类似的通知/事件。我想在窗口调整大小开始之前对某些元素设置 will-change,然后在窗口调整大小后将其删除。
问问题
2319 次
2 回答
2
似乎没有直接的解决方案,但您可以使用一些解决方法window.addEventListener("resize",yourFunction);
和一些全局变量来实现 start|end 事件(这是一种解决方法,它并不完美)。
//Accesible variables
var atStart = true;
var timer;
function yourFunction(){
return ()=>{
if(atStart){
console.log("START");
//Some code to be executed once at start
atStart = false;
}
console.log("WHILE");
//Some code to be executed while resizing
if (timer) clearTimeout(timer);
timer= setTimeout(atEnd, 500);
}
}
function atEnd(){
//Some code to be executed at the end of resizing
//..well some 500ms after the end of resizing
console.log("END")
atStart = true;
}
window.addEventListener("resize",yourFunction());
希望它可以帮助某人。
于 2020-04-02T18:26:08.183 回答
1
在调整大小之前没有触发事件。仅在调整大小期间。大多数在 rezise 上做某事的解决方案使用 setTimeout 来检查自上次调整大小事件以来经过了一定时间。所以我猜你运气不好。
于 2017-03-24T15:55:59.297 回答