首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用jquery获取窗口高度

使用jquery获取窗口高度
EN

Stack Overflow用户
提问于 2012-01-04 04:42:45
回答 4查看 6.9K关注 0票数 1

所以基本上,如果浏览器高度小于440px,我希望一个名为#content的div的css顶值为200px。然而,这似乎不起作用。我做错了什么?

代码语言:javascript
复制
var boh = $(window).height();
var bohi = parseInt(boh);
if(bohi < 440) {
    $("#content").css("top","200px");
} else {
    //this part works, so it's hidden
}
EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2012-01-04 05:23:22

我认为您需要处理$(window).resize()事件,否则该逻辑将只运行一次。

代码语言:javascript
复制
<script type="text/javascript">

$(window).resize(function(){
  var bohi = $(window).height();
  if(bohi < 440) {
      $("#content").css("top","200px");
  } else {
      //this part works, so it's hidden
  }    
});

</script>

这是一个似乎可以工作的jsfiddle:

  • http://jsfiddle.net/kNbuy/

请注意,$(window).height()不需要parseInt(),它已经被视为一个数字。

票数 5
EN

Stack Overflow用户

发布于 2012-01-04 04:45:16

您需要将此代码放在文档就绪处理程序中,如下所示:

代码语言:javascript
复制
<script>

$(document).ready(function(){

var boh = $(window).height();
var bohi = parseInt(boh);
if(bohi < 440) {
    $("#content").css("top","200px");
} else {
    //this part works, so it's hidden
}

});

</script>
票数 0
EN

Stack Overflow用户

发布于 2012-01-04 04:49:57

好的。我想我知道你的问题出在哪里了。

您尚未指定#content元素的'position‘属性是什么。如果你没有得到你想要的行为,我建议你尝试将position:absolute添加到#content的样式中。

我建议您仔细研究“position”属性是如何工作的。您可能会对更改#content及其父元素的position css属性所得到的结果感到惊讶。

此外,您可能需要考虑让页面自动执行一些代码,以便在用户调整浏览器窗口大小时进行自我调整。这可以用$.resize()来处理。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8718327

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档