如何在javascript中获取浏览器窗口大小?

时间:2016-12-01 07:18:08

标签: javascript jquery html css

我需要获取浏览器窗口大小,并在javascript中将窗口大小设置为div大小。

如果窗口大小为568px,我有2个div元素,div1想要38%,div2是62%。 在每个尺寸中,两个div都希望保持相同的百分比大小。

3 个答案:

答案 0 :(得分:7)

您可以使用:

var width = window.innerWidth;
var height = window.innerHeight;

<强>更新

要设置屏幕等于或小于568px时两个div元素的宽度,您可以这样做:

if(width <= 568) { document.getElementById('div_1').style.width = '38%'; document.getElementById('div_2').style.width = '62%'; }

或者使用我认为推荐的基于CSS的解决方案,在这种情况下更简单,利用media queries

&#13;
&#13;
.container{
  width: 100%;
}
.div_element {
  height: 100px;
  width: 100%;
}
#div_1 {
  width: 38%;
  background: #adadad;
}
#div_2 {
  width: 62%;
  background: #F00;
}
@media(max-width: 568px) {
  #div_1 {
    width: 38%;
  }
  #div_2 {
    width: 62%;
  }
  .div_element {
    float: left;
  }
}
&#13;
<div class='container'>
  <div id='div_1' class='div_element'>
    div 1
  </div>
  <div id='div_2' class='div_element'>
    div 2
  </div>
</div>
&#13;
&#13;
&#13;

答案 1 :(得分:3)

使用以下代码获取浏览器窗口的高度和宽度:

var width = window.innerWidth || document.documentElement.clientWidth || document.body.clientWidth;

var height = window.innerHeight || document.documentElement.clientHeight || document.body.clientHeight;

答案 2 :(得分:0)

为什么当CSS本身可以这样做时,你需要JS来做这个?这段代码将在每个屏幕尺寸上保持div大小

&#13;
&#13;
body {
  margin: 0px;
  height: 100vh;
}
#div1 {
  width: 38%;
  height: 100%;
  float: left;
  background: red;
}
#div2 {
  width: 62%;
  height: 100%;
  float: left;
  background: yellow;
}
#divMain {
  clear: both;
  height:100%;
}
#divMain:after,
#divMain:before {
  display: table;
  content: '';
}
#divMain:after {
  clear: both;
}
&#13;
<div id="divMain">
  <div id="div1">
  </div>
  <div id="div2"></div>
</div>
&#13;
&#13;
&#13;