Elementï¼contentvisibilityautostatechange äºä»¶
åºçº¿
2024
æè¿å¯ç¨
èª September 2024 èµ·ï¼æ¤ç¹æ§å·²å¨ææ°æµè§å¨ä¸å¾å°æ¯æãä½å¨è¾æ§çè®¾å¤ææµè§å¨ä¸å¯è½æ æ³è¿è¡ã
å®éªæ§: è¿æ¯ä¸é¡¹å®éªæ§ææ¯
å¨å°å
¶ç¨äºç产ä¹åï¼è¯·ä»ç»æ£æ¥æµè§å¨å
¼å®¹æ§è¡¨æ ¼ã
contentvisibilityautostatechange äºä»¶ä¼å¨è®¾ç½®äº content-visibility: auto çå
ç´ å¼å§æä¸åä¸ç¨æ·ç¸å
³ï¼ä¸æ£å¨è·³è¿å
¶å
容æ¶è§¦åã
å¨å
ç´ ä¸åä¸ç¨æ·ç¸å
³æ¶ï¼å¨å¼å§åç»æäºä»¶ä¹é´ï¼ï¼ç¨æ·ä»£çä¼è·³è¿å
ç´ çæ¸²æï¼å
æ¬å¸å±åç»å¶ï¼ï¼è¿å¯ä»¥æ¾èæé«é¡µé¢æ¸²æé度ãcontentvisibilityautostatechange äºä»¶ä¸ºåºç¨ä»£ç å¨ä¸éè¦æ¶å¼å§æåæ¢æ¸²æè¿ç¨ï¼å¦å¨ <canvas> ä¸ç»ç»ï¼æä¾äºä¾¿å©ï¼è¿èè约äºå¤çè½åã
注æå 为å ç´ å 容å³ä½¿è¢«éèä¸å¯è§ä¹ä»å°ä¿æè¯ä¹ç¸å ³æ§ï¼ä¾å¦ä½¿ç¨è¾ 婿æ¯çç¨æ·ï¼ï¼æä»¥ä¸åºä½¿ç¨æ¤äºä»¶è·³è¿éè¦ç DOM è¯ä¹æ´æ°ã
è¯æ³
å¨ addEventListener() çæ¹æ³ä¸ä½¿ç¨äºä»¶åç§°ï¼æè®¾ç½®äºä»¶å¤çå¨å±æ§ã
addEventListener("contentvisibilityautostatechange", (event) => {});
oncontentvisibilityautostatechange = (event) => {};
夿³¨ï¼äºä»¶çç±»å为 ContentVisibilityAutoStateChangeEventã
示ä¾
const canvasElem = document.querySelector("canvas");
canvasElem.addEventListener("contentvisibilityautostatechange", stateChanged);
canvasElem.style.contentVisibility = "auto";
function stateChanged(event) {
if (event.skipped) {
stopCanvasUpdates(canvasElem);
} else {
startCanvasUpdates(canvasElem);
}
}
// å¨ç»å¸éè¦å¼å§æ´æ°æ¶è°ç¨æ¤æ¹æ³ã
function startCanvasUpdates(canvas) {
// â¦
}
// å¨ç»å¸éè¦åæ¢æ´æ°æ¶è°ç¨æ¤æ¹æ³ã
function stopCanvasUpdates(canvas) {
// â¦
}
è§è
| è§è |
|---|
| CSS Containment Module Level 2 > # content-visibility-auto-state-change > |