2013-02-20 56 views
0

工作,一旦我有一些麻煩與腳本正在讀的div高度,然後調整其他之一。重新計算高度的功能在一段時間

基本上它只是在一段時間內只做一次。

在我看來,該功能是歌廳div的高度實際加載的所有元素之前。

function recalculate_h() { 
    if ($(".content_full").is(":visible")){ 
      var cur = $(".content_full").height()+100; 
      animate_height(cur); 

     } 
} 

function smooth_change(way) { 
// rest of the code 
    $("#here").load("index.php?siteno="+next+" #there", function(evt) { 

     $("#outer").attr("siteno", next);  
      recalculate_h(); 
    }); 
} 

而且它的document.ready

$(".left_navigator").click(function() { 
     smooth_change("back"); 
}); 

什麼我可能做錯了任何想法內叫什麼名字?

P.S.

有兩種使用Ajax請求兩種方式瀏覽網站,通過基本刷新和獲取屬性,和順暢。 另外,recalculate_h在每個頁面加載都是這樣調用的,並且這個工作正常。

$(window).load(function() { 

    recalculate_h(); 
    //$('#map_canvas').gmap(); 

});

+1

請添加爲的jsfiddle因爲沒有辦法讓我們知道什麼是「未來」的還是jQuery的負載每從服務器返回 – 2013-02-20 14:47:45

+0

你有沒有在你頁面加載任何圖像? – iappwebdev 2013-02-20 14:50:15

+0

是的,有一些。我的第一個猜測是,它可能是css定位的原因......但正如我以前寫的,這實際上是工作。有時候它是正確的,有時似乎忘記了一些div。 – PiotrC 2013-02-20 14:57:10

回答

0

你可以嘗試使用jQuery的AJAX調用加載的index.php siteno ....並調用recalculate_h()?;完成Ajax事件?

我看到你正確設置這些值:

var middle_banner_height = 100; 
var middle_banner_width = 802; 

你應該設定他們這樣的:

var middle_banner_height = "100px"; 
var middle_banner_width = "802px"; 

加上這個叫你設置midle_banner_with代替middle_banner_width等你拿midle_banner_with是沒有定義的。 無論如何,這可能要解決整個bug,但你的腳本正在打破這裏。

+0

「.load」不是'.ajax()'的簡寫形式嗎?而且他已經調用'recalculate_h()'在功能齊全......」 – iappwebdev 2013-02-20 14:49:42

+0

你是對我不好。 – 2013-02-21 07:59:45

+0

哦,是的。沒有注意到這一點。我用CSS畢竟,完全忘記了殘部指數,謝謝。 。順便說一句,雖然misstyped,這段代碼現在基本上什麼也不做 – PiotrC 2013-02-21 14:52:40

0

我確實在我的項目之一相同的情況下前後的方式我解決它是通過抓取要調整大小並設置其CSS來高度的元素:自動。然後添加其餘的代碼。讓我知道它是否有效。

+0

我包裹都在一個DIV與CSS:自動,但它並沒有太大的改變如果你想看看,這裏是實際項目http://dditorkney.com/beta/index.php btw。如果你用中間橫幅中的箭頭導航,它只是時間問題,因爲它會崩潰 – PiotrC 2013-02-20 17:19:44

+0

因爲我已經嘗試了許多事情,所以我最終將css高度設置爲固定值,這實際上是最糟糕的解決方案,但現在正在運行。 – PiotrC 2013-02-21 15:11:28