亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

JavaScript 窗口大小調整事件很慢。如何優化窗口調整大小事件

JavaScript 窗口大小調整事件很慢。如何優化窗口調整大小事件

料青山看我應如是 2021-05-31 18:54:57
當我單擊瀏覽器窗口的最大化按鈕時,我編寫的一個將在調整窗口大小時執行的函數無法正常工作,我認為是因為 JavaScript 窗口調整大小事件運行緩慢。當我使用鼠標調整窗口大小時,它起作用了。此外,當我嘗試在縱向移動和橫向移動之間切換時,它也很慢。使用 window.addEventListener('resize', aFunction) 時遇到問題,頁面變慢。這些事件每秒生成多次,如果事件處理程序花費太多時間,瀏覽器將無法重繪頁面。<div class="div1">    <div class="div2"></div></div>.div1 { position: relative; }.div2 { position: absolute; width: 300px; top: 0; transition: all 0.5s ease; }@media only screen and (max-width: 1024px) { .div2 { width: 200px; } }function aFuntion() {    let div1 = document.querySelector('.div1');    let div2 = document.querySelector('.div2');    let diff = div1.clientHeight - div2.clientHeight;    div2.style.top = diff + 'px';};// Call the function.// This worked!aFuntion();// Call the function when users resize the window.// This worked!window.addEventListener('resize', aFuntion);// Users click on the Maximize button of the window.// The function does not work properly!// Portrait mobile to Landscape mobile.// The function does not work properly!
查看完整描述

3 回答

?
慕田峪9158850

TA貢獻1794條經驗 獲得超8個贊

我刪除了過渡:所有 0.5 秒的緩和;它工作了一段時間,現在它不再工作了。

所以,我現在知道這是因為 window.addEventListener('resize', function) 運行緩慢。


查看完整回答
反對 回復 2021-06-03
?
慕運維8079593

TA貢獻1876條經驗 獲得超5個贊

嘗試 document.addEventListener('resize', aFuntion);


查看完整回答
反對 回復 2021-06-03
?
ABOUTYOU

TA貢獻1812條經驗 獲得超5個贊

我已經在 Firefox、Chrome 和 Internet Explorer 中測試了下面的代碼,它按預期工作。我知道這是一種解決方法,因為該事件是從 body 標簽觸發的,但也許它會對您有所幫助。


<html>

<head>

<script>

function resizeFunction() {

    console.log("working");

}

</script>

</head>

<body onresize="resizeFunction()">

content

</body>

</html>


查看完整回答
反對 回復 2021-06-03
  • 3 回答
  • 0 關注
  • 208 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號