Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/382.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 通过调整窗口大小动态更改div高度_Javascript_Window Resize - Fatal编程技术网

Javascript 通过调整窗口大小动态更改div高度

Javascript 通过调整窗口大小动态更改div高度,javascript,window-resize,Javascript,Window Resize,我想在调整窗口大小时更改div的高度。我知道它可以通过css使用高度:100%但这对我需要的东西不起作用。我想在没有JQuery或任何其他框架的纯javascript中实现这一点 以下是我所做的: <div id="left"> <div id="inner"> </div> </div> JAVASCRIPT window.onload= window.onresize=function(){ var left=document.getEle

我想在调整窗口大小时更改div的高度。我知道它可以通过css使用
高度:100%但这对我需要的东西不起作用。我想在没有JQuery或任何其他框架的纯javascript中实现这一点

以下是我所做的:

<div id="left">
<div id="inner">

</div>
</div>
JAVASCRIPT

window.onload=
window.onresize=function(){
var left=document.getElementById('left');
var window_height = window.innerheight;
if ( window_height > 600px ) { left.style.height = document.body.offsetHeight
+"px";    } 
else { } 
} 
id为左的div必须具有相同的边距。我只是想更改div的高度以匹配内部窗口的高度(px no%)


谢谢。

窗口。内部高度应为(大写
H
)。请注意,IE在IE9之前不支持它

还请注意,您正在将一个元素与此处的数字进行比较:

if ( left < window_height )
//   ^--- element
if(左<窗高)
//^---元素
您可能希望从
左侧获取高度,因为该条件永远不会为真。

请参阅jsfiddle

尝试使用console.log了解您处理的是哪种类型的值或对象

window.onload = window.onresize = function () {
    var left = document.getElementById('left');
    var window_height = window.innerHeight;
    console.log(left.offsetHeight);
    console.log(window_height);
    if (left.offsetHeight < window_height) {
        left.style.height = window_height + "px";

    } else {}
}
window.onload=window.onresize=function(){
var left=document.getElementById('left');
var window_height=window.innerHeight;
console.log(左、右);
控制台日志(窗口高度);
如果(左偏光<车窗高度){
left.style.height=窗高+px;
}else{}
}
首先设置100%以了解确切的高度编号,然后再指定回高度

更新代码

window.onload=window.onresize=function(){
var left=document.getElementById('left');
console.log(左、右);
var window_height=window.innerHeight;
如果(左偏光<车窗高度){
left.style.height='100%';
left_height=左偏右;
控制台。原木(左侧高度);
left.style.height=左_高度+px;
}else{}
};

好的,我现在就编辑我的问题。左边是对象,不是值。我试过了,但我的代码都不起作用。你能给出一个答案吗answer@Kishore这和我回答你的问题一样,是吗?请看还是需要这样?如果是,我将添加为答案,请接受that@Thirumalaimurugan我想回答另一个问题,你能用这个回答吗。我想在卷轴上做这样的改变。请观看链接上的“是”部分。你能回答这个问题吗?@Kishore:我发现了第二个问题。@Kishore:我不会浪费时间去摆弄浏览器在维度属性上的不一致性。我用一个好的图书馆来代替。我推荐它。这让你可以专注于正在构建的实际内容,而不是平台的不一致性。不,这不起作用,因为无法看到内部div的最后一个内容。我以前试过这个方法。如果条件,则快速更改if,以快速查看结果。在JSFIDLE中,如果您看到浏览器窗口中也有一个我不需要的滚动条,窗口可能总是比您留下的对象短。我非常感谢您尝试帮助我。但是很抱歉,这个代码也不起作用。在您的代码中,如果您调整结果区域的大小,您将知道我试图做什么。这就是我想要的。我昨天做了这个代码。非常感谢@caoglish
window.onload = window.onresize = function () {
    var left = document.getElementById('left');
    var window_height = window.innerHeight;
    console.log(left.offsetHeight);
    console.log(window_height);
    if (left.offsetHeight < window_height) {
        left.style.height = window_height + "px";

    } else {}
}
window.onload = window.onresize = function () {
    var left = document.getElementById('left');

    console.log(left.offsetHeight);
    var window_height = window.innerHeight;

    if (left.offsetHeight < window_height) {
        left.style.height = '100%';    
        left_height=left.offsetHeight;
        console.log(left_height);
        left.style.height = left_height + "px";

    } else {}
};