У меня есть загрузка страницы в содержимом div, когда документ готов. Тем не менее, у меня также есть некоторые ссылки, которые загружают разные страницы в тот же самый контент div всякий раз, когда пользователь нажимает на них. Я пытаюсь установить высоту содержимого div для управления чем-то другим, однако, как только высота div устанавливается на загрузку страницы, я не могу получить новый размер содержимого div с новой страницей в нем ...Высота div по содержанию
Например, загруженная страница - 6000 пикселей, страница 1 - 500 пикселей в высоту, а страница 2 - 300 пикселей в высоту. Когда страница загружается, для содержимого div установлено значение 6000 пикселей. Тем не менее, когда я нажимаю страницу 1, чтобы загрузить его в DIV содержимого, то ДИВО содержание остается равным 6000px, хотя само содержание только 500px в высоту, то же самое для страницы 2, и т.д ...
Вот HTML:
<div id="select">
<div id="menu">
<ul>
<li><a class="load" href="javascript:void(0)" id="page1">page1</a></li>
<li><a class="load" href="javascript:void(0)" id="page2">page2</a></li>
</ul>
</div>
</div>
<div id="spacer"></div>
<div id="content"></div>
Вот CSS:
#select {
width: 215px;
top: 20px;
left: 10px;
position: absolute;
}
#spacer {
border-right:2px solid #000000;
left:10px;
width:215px;
position: absolute;
}
#content {
left: 227px;
top: 20px;
width: 703px;
padding: 0;
margin: 0;
position: absolute;
}
Вот мой JQuery:
$(document).ready(function() {
//Load content on page load
$("#content").html('<ul><li>Loading Content...</li></ul>')
.load("/content/" + "projects.php", null, function() {
contentHeight = $("#content").height();
selectHeight = $("#select").height();
$("#spacer").height(contentHeight + "px")
.css({"top": selectHeight + 40 + "px" });
});
//Load content on click
$(".load").click(function(){
loadName = $(this).attr("id");
$("#content").html('<ul><li>Loading Content...</li></ul>')
.load("/content/" + loadName + ".php", null, function(){
contentHeight = $("#content").height();
selectHeight = $("#select").height();
if(selectHeight < contentHeight) {
$("#spacer").css({"top": selectHeight + 40 + "px", "display": "block" })
.height(contentHeight + "px");
}else{
$("#spacer").css({"display": "none"});
return;
}
});
});
});
вещей будет немного яснее, если бы мы могли видеть HTML, связанный с '.load',' # spacer', '# content' и' # select'. –
Адам, забросил код для вас – antonanton