正确的jQuery语法

时间:2012-05-24 08:43:04

标签: jquery css syntax

<script type="text/javascript">
    $(document).ready( function () { 
        $('#cell').css('height',$(window).height()+'px');
    });
</script>

如你所见,我有这个脚本可以将#cell的高度定义为页面的高度。 但是在这个div之外我有另一个div,它将top=50%margin-top=-218px置于屏幕中间。 因此,页面高度的高度应该更大。

我试图做这样的事情,但我找不到正确的语法 -

<script type="text/javascript">
    $(document).ready( function () { 
        var p = $("mainWrap");
        var position = p.position();
        heightPage = $(window).height()
        heightTop = position.top;
        heightFixed = heightPage - heightTop + "px";
        $('#cell').css('height', heightFixed);
    });
</script>

编辑: 我能够这样做

<script type="text/javascript">
 $(document).ready( function () { 
  var s = document.getElementById('cell');
  var fixedHeight = $(window).height() - s.offsetTop;
  fixedHeight = fixedHeight + "px";
  $('#cell').css('height',fixedHeight);
});

感谢您的评论。

对于评论要求我尝试做什么的人: 我把我的内容用DIV包裹起来,用DIV把它推到中间“top:50%”并将它边缘回到顶部,这样它就会在'margin-top:208px'中间(它的高度为内容)。  除此之外,我有一个页脚隐藏在屏幕下滚动(无论屏幕的分辨率是多少),并且因为中心的东西,页脚滚动得太多了...顶部:50%将页脚向内推深我必须找到一种方法将它推回去......这就是jquery部分的用武之地。 我知道有很多方法可以让页脚保持在屏幕下方,但是我正在使用cms patform,并且有很多bug和继承的css,所以它太复杂了。

无论如何现在还可以正常工作,希望有一天它会对某人有用。

感谢您的帮助。

1 个答案:

答案 0 :(得分:3)

var p = $("mainWrap");

如果是ID(#)或类(.),则需要一些指示符。对于ID,它应该看起来像

var p = $("#mainWrap");
编辑:Ash指出,p很可能是undefined,因此下一行会抛出错误,因为undefined没有属性position。< / p>