.clientHeight仅在调整浏览器大小时缩小

时间:2014-05-05 18:26:39

标签: javascript html css resize window-resize

console.log(document.body.clientHeight);

主要问题是我正在尝试调整图片大小以适应浏览器更改的大小。因此,使用.clientHeight属性,我可以检测大小,然后使用此逻辑作为函数的一部分来更改图像,该函数在" onresize"甚至被触发

 var temp = parseInt((document.body.clientHeight-100)*0.90);

从大尺寸到小尺寸时,代码按预期工作。但是,当您向后缩放浏览器窗口时,即使成功调用了onresize,但.clientHeight给出的值保持不变,因此图像不会返回到更大的大小!

任何帮助表示赞赏!这是调整大小的全部功能,而不用担心变量不会保留名称" temp"。

function resize(){
    //This returns the height in pixels of just the inside content pane of the browser (ie not including tool bars etc)
    console.log(document.body.clientHeight);
    //Here I MUST use the parse INT because there is no such thing as half a pixel and it will cause an error.
    var temp = parseInt((document.body.clientHeight-100)*0.90);
    //in order to prevent the browser from dropping the height mod we need to have "px" appended to the value being passed in
    temp= temp+"px";
    console.log(temp);
    document.getElementById("pet").style.height=temp;
}

1 个答案:

答案 0 :(得分:1)

使用window.innerHeightwindow.outerHeight的建议实际上是解决问题的方法。随着浏览器向下调整,图像现在可以正确缩放!

归功于Mash