2012-01-27 92 views
2

我有一個使用母版頁和內容頁的網絡應用程序(請參閱附加圖像)。我需要根據瀏覽器窗口大小動態地設置內容頁面中一個div的最大寬度(以便整個應用停留在頁面上而不滾動)。我無法找到sloution(或無法複製結果)只使用HTML和CSS。所以我想用javascript來做。但問題是,我從來沒有使用它,所以我真的不知道該怎麼做。如果有人花了幾分鐘的時間寫出能做到這一點的功能,我真的會感到非常滿意。正如我所看到的,我應該在頁眉的底部邊緣和頁腳的頂部邊緣之間取高度差,並減去搜索欄和按鈕欄的高度值。div max-height使用javascript動態設置

enter image description here

編輯: 感謝maxedison提供的代碼。但是,我如何使用它? :D我是一個總noob。我有一個問題,因爲我使用了masterpage和content頁面。我在哪裏放置該代碼?

編輯2 - 答案:

我看遠一點到如何使用jQuery,這裏多一些搜索,我找到了解決辦法。下一次我開始開發一個應用程序,我會從底層使用jQuery ......它只是簡化了一些東西。 :)

所以對於解決方案:它類似於maxedison的建議,但我改變了它,所以我用CSS設置高度,我只是添加了一個固定值從window.height中扣除。

<script type='text/javascript'> 
    $(function() { 
     $('.myStyle').css({ 'height': (($(window).height()) - 350) + 'px' }); 

     $(window).resize(function() { 
      $('.myStyle').css({ 'height': (($(window).height()) - 350) + 'px' }); 
     }); 
    }); 
</script> 
+0

你嘗試到目前爲止什麼CSS? – 2012-01-27 21:15:08

+0

@MrLister - 我不確定這是可能的CSS。我還尋求一種純粹的CSS解決方案,使div擴展到適合可用的垂直高度,但沒有成功。 – maxedison 2012-01-27 21:22:12

+0

@Mr Lister - 我嘗試了幾乎所有可以找到的CSS解決方案......沒有做我想要的。所以我想我會給javascript或jQuery一個去。 – user1080533 2012-01-27 21:45:18

回答

3

使用jQuery,它看起來是這樣的:

function resetHeight(){ 
    var newHeight = $(window).height() - $('.header').outerHeight() - $('.searchBar').outerHeight() - $('.buttons').outerHeight() - $('.footer').outerHeight(); 
    $('.content').height(newHeight); 
} 

$(function(){ 
    newHeight(); 

    $(window).resize(function(){ 
     resetHeight(); 
    }); 
}); 
+0

太好了,非常感謝!現在只是爲了學習,我應該把這個代碼放在哪裏。 :D我會第一次使用它,所以手指交叉,我可以使它工作。 :)我應該把它放在我的內容頁面還是我的母版頁中?再次感謝。 – user1080533 2012-01-27 21:47:40

+0

哦,我忘了提及。我使用.NET 2,因爲我需要考慮一些限制。這會工作,還是爲.net上的新版本? – user1080533 2012-01-27 22:05:58

+0

@ user1080533 .NET版本與jQuery(這是javascript)無關,因爲它是客戶端。您應該將此代碼放入您的''標籤中,放在'