2013-03-25 86 views
1

我試圖使用JQuery來檢測我的頁面內容何時加載,然後根據如何調整我的頁面上的div(導航欄和內容)有很多內容。 (例如,如果有少量的文字,那麼的div是800像素的高度,但是當導航和內容的div有不同的高度,然後同時設置等於兩個的最大高度。

 function resizePage(){ 
      var defaultSize = 600; 
      var sidebarH = $("nav").height(); 
      var articleH = $("article").height(); 

      if((sidebarH < defaultSize) || (articleH < defaultSize)){ 
       $("nav").css({'height': defaultSize}); 
       $("article").css({'height': defaultSize}); 
      } 
      else{ 
       if(sidebarH <= articleH){ 
        $("nav").css({'height': articleH}); 
       } 
       else{ 
        $("article").css({'height': sidebarH}); 
       } 
      } 
     } 

     $(window).load(function() { 
      resizePage(); 
     }); 

當我修改了html代碼...現在使用Jinja模板...好像模板數據在加載窗口後加載,因此它沒有正確調整大小。有沒有一種方式JQuery可以告訴模板數據全部裝的?或者,我可以去不同的方式解決這個?

感謝您的時間!

回答

0

只是需要改變||到& &。

$(window).load與$(document).ready在這裏沒有什麼區別。

1

嘗試.ready()代替:

$(document).ready(function() { 
    function resizePage() { 
     var defaultSize = 600; 
     var sidebarH = $("nav").height(); 
     var articleH = $("article").height(); 

     if((sidebarH < defaultSize) || (articleH < defaultSize)) { 
      $("nav").css({'height': defaultSize}); 
      $("article").css({'height': defaultSize}); 
     } 
     else{ 
      if(sidebarH <= articleH){ 
       $("nav").css({'height': articleH}); 
      } 
      else{ 
       $("article").css({'height': sidebarH}); 
      } 
     } 
    }  

    resizePage(); // You are calling it here 
});