我试图在顶部设置一个标题,其高度不固定但位置固定,低于内容区域。现在,我只是在元素中添加了一个固定的填充顶部,因此内容将显示在标题下方。我试图使用JavaScript和JQuery来做到这一点。我认为我这样做的方式是最好的方式,但它并不是很有效。
[HTML]
<div class="contentPage" id="page_1" name="templates">
<div class="contentPageHeader">
<a href="#menu">
<div class="pageBack">
<h4>Back</h4>
</div>
</a>
<h3>Templates</h3>
</div>
<div class="contentPageContent">
</div>
</div>
[JS]
var headerHeight = $('.contentPageHeader').css( 'height' );
$('contentPageHeader').css('margin-top', headerHeight);
要完整演示,请访问此JSfiddle
答案 0 :(得分:1)
你应该修复你的javascript:
var headerHeight = $('.contentPageHeader').outerHeight();
$('.contentPageContent').css('margin-top', headerHeight);
此代码也应放在click
方法中。
答案 1 :(得分:0)
您需要为marginTop定义单位,例如。 px or %
:
$('.contentPageHeader').css('margin-top', headerHeight + 'px');
//^^ missed a selector (the dot)
答案 2 :(得分:0)
试试这个
$(document).ready(function () {
$("a").click(function () {
if (this.hash) {
var hash = this.hash.substr(1);
var $toElement = $("div[name=" + hash + "]");
if (hash == "menu") {
$('.contentPage').fadeOut(300);
$($toElement).fadeIn(300);
} else {
$('#menu_holder').fadeOut(300);
$($toElement).fadeIn(300);
}
}
var headerHeight = $('.contentPageHeader').css( 'height' ); //your code added here
$('.contentPageHeader').css('margin-top', headerHeight);
});
});