mhe*_*ers 5 javascript mobile jquery android
我想在方向改变时准确捕捉移动浏览器的窗口高度和宽度,但是(在Android中,我正在测试) - 当方向监听器触发并调用函数来捕获窗口的高度和宽度时,新尺寸还没有准确反映出来,所以我最终不得不拨打任意延迟来让事情记录下来.我该如何处理?这是我的代码:
window.addEventListener(orientationEvent, function() {
setTimeout("setViewport()", 500);
//setViewport();
}, false);
function setViewport() { //Called each time orientation changes, including initial orientation
viewportW = window.innerWidth; //only reports the accurate window size if the function is called on a delay
viewportH = window.innerHeight;
}
Run Code Online (Sandbox Code Playgroud)
使用调整大小事件代替
window.addEventListener('resize', function() {
viewportW = window.innerWidth;
viewportH = window.innerHeight;
}, false);
Run Code Online (Sandbox Code Playgroud)
如果您只想在方向更改时特别更改这些值,您可以使用 window.matchMedia 来验证方向也已更改:
var portrait=(window.matchMedia("(orientation: portrait)")?true:false);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1190 次 |
| 最近记录: |