设置后,Javascript获取窗口高度

时间:2017-09-04 09:57:50

标签: javascript

我使用以下代码在软键盘事件后调整窗口大小:

var viewheight = window.innerHeight;
var viewwidth = window.innerWidth;
window.addEventListener('resize', function (e) {
    var newviewheight = window.innerHeight;
    var newviewwidth = window.innerWidth;
    if (((viewheight - newviewheight) / viewheight) > 0.35 && ((viewwidth - newviewwidth) / viewwidth) < 0.01) {
        window.innerHeight = viewheight;
    }
})

当我通常触发方向更改时,它会完美地为我提供新的窗口高度:

window.addEventListener('orientationchange', function () {
    setTimeout(getnewhw, 1000);
})
function getnewhw() {
    viewheight = window.innerHeight;
    viewwidth = window.innerWidth;
    document.getElementById('heighttxt').value = viewheight;
}

然而,在用键盘触发resize事件后,orientation函数似乎总是给我分配给&#34; window.innerHeight&#34;的最后一个值。并且永远不会更新,几乎就像我创建了一个新变量一样。出现这种情况的原因是什么?

编辑: 以下是高度发生的情况。

Onload(横向)高度400

纵向方向更改高度800

横向更改高度400

在键盘事件高度400上 - &gt; 250(触发器调整大小) - &gt; 400

从这一点开始,无论调整大小或方向事件被触发,高度始终为400。

纵向更改高度400(错误,应为800)

在键盘事件高度400上 - &gt; 400(条件失败)

0 个答案:

没有答案