2017-07-21 27 views
0

我試圖在用戶旋轉屏幕時更改網頁中某個元素的大小(特別是對於iPad而言,也適用於所有移動設備)。新尺寸將根據新屏幕尺寸進行計算。如何在iPad屏幕旋轉後獲得新的窗口大小?

我試過使用window.onresize = myFcn;,但resize事件在我的iPad上無法正確激活。

我已經嘗試過使用window.onorientationchange = myFcn;,但事件在屏幕實際尺寸改變之前被觸發,所以我無法使用它們來計算出正確的新表大小。

我嘗試過使用setTimeout(myFcn, 50),正如在我讀過的答案中所建議的那樣,但是這只是創建了一個無限循環,因爲在循環運行時維度不會改變。

如何在取向改變後獲得新的屏幕尺寸?

回答

1

如果將2和3相結合,那麼設備將完成其方向更改(如果不足夠,則可能會增加)爲50毫秒。

window.onorientationchange = function() { 
    setTimeout(myFcn, 50); 
}; 
+0

這工作,雖然我不得不等待500毫秒,以使其始終如一地使用新的尺寸。我擔心這會在某些設備上崩潰,但它似乎是目前最好的選擇。 – GreySage