jQuery高度有时候工作别人没有

时间:2012-11-15 09:03:28

标签: jquery wordpress

大家好我有一个jQuery问题,我坚持。有时它正在工作,并给我正确的高度和其他人一个完全不同的高度。也许它与正在加载的订单有关或者我可能只是做错了什么。如果你看到那里的错误或者你会有什么不同,请你看看并让我知道吗?我会很感激。它位于Wordpress网站中,它位于标题中....

 <script type="text/javascript">

jQuery(document).ready(function( $ ) {

// boxen gleiche hoehe

    if($(window).width() >= 1600)  {
        $(".home #fb").height($("#homebox").innerHeight(true) + $("#homebox2").innerHeight(true) - 45) +'px';
        }


    $(".home #twitter, .page-template-homeLayout-php #twitter").height($("#homebox").innerHeight(true) + $("#homebox2").innerHeight(true));
 });

 $(window).resize(function() {

        if($(window).width() >= 1600)  {
        $(".page-id-1235 #fb").height($("#homebox").innerHeight(true) + $("#homebox2").innerHeight(true) - 45) +'px';
        }

        $(".home #twitter, .page-template-homeLayout-php #twitter").height($("#homebox").innerHeight(true) + $("#homebox2").innerHeight(true));


});


});

</script>

3 个答案:

答案 0 :(得分:0)

在我看来,这个问题是你的if语句中的错误代码的结果,这可以解释这个看似随机发生的问题。

这是不准确的:

if($(window).width() >= 1600)  {
 $(".home #fb").height( $("#homebox").innerHeight(true) + $("#homebox2").innerHeight(true) - 45) +'px';
}

应该是这样的:

if($(window).width() >= 1600)  {
 $("#fb").height( 
  $("#homebox").innerHeight(true) + 
  $("#homebox2").innerHeight(true) - 45
 );
}

请注意,每页只允许一个id,所以只使用id就足够了。而且,height()采用int值,并且不需要{c}属性'px'

同样适用于

if($(window).width() >= 1600)  {
 $(".page-id-1235 #fb").height($("#homebox").innerHeight(true) + $("#homebox2").innerHeight(true) - 45) +'px';
}

应该是

if($(window).width() >= 1600)  {
 $("#fb").height(
  $("#homebox").innerHeight(true) + 
  $("#homebox2").innerHeight(true) - 45);
}

答案 1 :(得分:0)

这是因为您使用$(窗口)作为宽度的基础。而是将您的网站放入容器

<强> HTML

<div class="container">
 <div>your content</div>
</div>

<强> CSS

.container {
 width: 100%;
 margin: 0 auto;
}

在你的JS中然后用$(。容器)加上TravisJ的编辑

切换$(窗口)

答案 2 :(得分:0)

嗨Guyes感谢您的回复。我用一个函数想出来了。我必须给div一个固定的高度。因为有一个带有%值的图像,不知何故它不会给出加载高度。无论如何,现在我有问题,该功能想要在IE8上加载。但它将适用于调整大小。有线索吗?这是功能。

    $(document).ready(sizeContent);

    //Every resize of window
    $(window).resize(sizeContent);

    $(window).load(sizeContent);


    function sizeContent() {
var newHeight = $("#homebox").height() + $("#homebox2").height() + "px";
$("#twitter").css("height", newHeight);

var newHeightSingle = $("#whiteBg").height() + "px";
$("#twitter").css("height", newHeightSingle);
}


$("#bildbox").height($("#inhaltsbox").height());


if($(window).width() >= 1600)  {
    $("#fb").height($("#homebox").innerHeight(true) + $("#homebox2").innerHeight(true) - 45) +'px';
    }