1
林有點麻煩,所以讓我來描述你我的情況:Ajax在容器中加載。高度問題?
我有一個網站有2個主要區域。 A帶有導航鏈接和內容顯示位置。
im使用AJAX,使得當I A鏈路這些步驟發生在點擊:新的內容被加載
1)在#main內容fadea出
2))的#main的高度改變
4)顯示新的內容。
但由於某些頁面的某些原因,#main的高度不會被適當調整。它會太短,減少內容。我注意到這隻發生在第一次,你加載頁面,這讓我覺得它是一個瀏覽器不能正確計算高度,直到所有的數據已被下載的問題。但我不明白爲什麼發生這種情況,因爲回調函數不應該啓動,直到所有的東西都被加載了,對嗎?
無論如何,繼承人的代碼。我希望你們能幫我一把。謝謝!
$("a:not('.noajax')").live("click", function(e){
e.preventDefault();
//Load new page
var link = $(this).attr("href");
loadpage(link);
});
function loadpage(href) {
//Keep fixed the main container
var old_height = $(".outermain").innerHeight();
$("#main").css({"height":(old_height)});
//Fade out the interior
$(".outermain").fadeOut(100, function(){
//Prepare interior to calculate new height
$(".outermain").css({"display": "block", "visibility": "hidden"});
//Load new page
$(".outermain").load(href + " .innermain", function(){
var new_height = $(".outermain").innerHeight();
var rolloutspeed = 700 - (new_height/30);
rolloutspeed = 600;
$("#main").animate({"height":new_height}, rolloutspeed , "easeOutBack", function(){
$(".outermain").css({"visibility": "visible", "display":"none"}).fadeIn(function(){
$("body").removeClass("ajaxblocked");
});
});
});
});
}
,這是HTML:
<section id="main">
<div class="outermain">
<div class="innermain clearfix">
...
</div>
</div>
</section>
這完全正確......我怎麼能解決這個問題? :( –