Javascript window 调整大小事件前后
Javascript before and after events for window resize
onresize 可用于获知 window 已调整大小。 window调整大小之前有没有类似的notification/event。
我想在 window 调整大小开始之前对某些元素设置 will-change,然后在 window 调整大小后删除它。
没有在调整大小之前触发的事件。仅在调整大小时。大多数在 rezise 上执行某些操作的解决方案都使用 setTimeout 来检查自上次调整大小事件以来经过了一定时间。所以我猜你运气不好。
似乎没有直接的解决方案,但您可以通过使用 window.addEventListener("resize",yourFunction);
和一些全局变量的一些变通方法来实现开始|结束事件(这是一种变通方法,并不完美)。
//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());
希望对大家有所帮助。
onresize 可用于获知 window 已调整大小。 window调整大小之前有没有类似的notification/event。 我想在 window 调整大小开始之前对某些元素设置 will-change,然后在 window 调整大小后删除它。
没有在调整大小之前触发的事件。仅在调整大小时。大多数在 rezise 上执行某些操作的解决方案都使用 setTimeout 来检查自上次调整大小事件以来经过了一定时间。所以我猜你运气不好。
似乎没有直接的解决方案,但您可以通过使用 window.addEventListener("resize",yourFunction);
和一些全局变量的一些变通方法来实现开始|结束事件(这是一种变通方法,并不完美)。
//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());
希望对大家有所帮助。