2010-09-20 49 views
0

我想在我的网站上的动态产品页面上创建条件语句,以帮助设置我的列(左侧和右侧)和中心部分(#detail <div>)的高度。jQuery条件问题

我现在这段代码:

$(window).load(function() { 

    detailHeight = $('#detail').height(); 
    columnHeight = detailHeight + 20; 

    $('.columns').height(columnHeight); 
    $('#detail').height(columnHeight); 

}); 

现在,我要确保在columnHeight变量的高度至少为550,使柱的高度和#detail <div>会至少550px高。

这是由于我的马里奥艺术品与他打电话在右侧的列。如果它突出到页脚,它看起来有点不专业。

我想补充一个条件:

if($(columnHeight) < 550) { 
    columnHeight = 550; 
} 

我以前像这样的代码:

$(window).load(function() { 

    detailHeight = $('#detail').height(); 
    columnHeight = detailHeight + 20; 

    if($(columnHeight) < 550) { 
     columnHeight = 550; 
    } 

    $('.columns').height(columnHeight); 
    $('#detail').height(columnHeight); 

}); 

出于某种原因,它加载一样,如果有条件的甚至没有那里。

http://www.marioplanet.com/catalog.asp并点击进入任何产品,

,或者

前往http://www.marioplanet.com/product.asp?IDnum=1,并在不断变化的数字:

您可以在这里查看问题的影响IDnum=1在URL的最后部分到1到45之间的任何东西。

任何建议,非常感谢!

谢谢!

UPDATE:

谢谢大家谁贴!

哇,多么蹩脚的错误!

回答

1

您的意思是包括$在columnHeight前面吗?

if($(columnHeight) < 550) { 
    columnHeight = 550; 
} 

应该是:

if(columnHeight < 550) { 
    columnHeight = 550; 
} 

你包裹一个数字,一个jQuery对象。我实际上并不知道这将会达到什么样的效果!

1

尝试:

 
if(columnHeight < 550) { 
    columnHeight = 550; 
} 
1

不知道为什么你jQuery的fying的columnHeight。给这个镜头:

$(window).load(function() { 

    detailHeight = $('#detail').height(); 
    columnHeight = detailHeight + 20; 

    if(columnHeight < 550) { 
     columnHeight = 550; 
    } 

    $('.columns').height(columnHeight); 
    $('#detail').height(columnHeight); 

}); 
1

不应该是......

if(columnHeight < 550) { 
    columnHeight = 550; 
} 

...你的例子试图从一个简单的变量创建一个jQuery对象?

1

难道你不能在.columns和#detail上使用CSS min-height属性吗?

.columns, #detail { 
    min-height: 550px; 
} 
+0

我很喜欢这个,谢谢!我从来没有听说过这个,在这里它非常有用。在这个例子中,我正在寻找jQuery代码,尽管如此。但我可能实际上实现了这个。 – Qcom 2010-09-20 11:54:51

+0

@BOSS - 实际上有100%的CSS方法来创建你的列布局;不需要JavaScript。例如:http://matthewjamestaylor.com/blog/ultimate-multi-column-liquid-layouts-em-and-pixel-widths – 2010-09-20 13:25:10