2013-02-12 46 views
0

我正在尋找一種簡單的方法來做到以下幾點:%基於高度,變成動態地爲像素

我建立一個網站,我有一個。內容類和它的高度爲=身高:汽車;其寬度=寬度:80%; 但我不想讓div在垂直方向變成「TOO」位,當我縮放它時。

問:

是否有一個JavaScript的「如果」,用於檢查一個div的高度,然後是能夠把溢出-Y聲明:滾動;如果元素太大,說400px垂直?

請注意,該div在CSS中沒有高度。它被設置爲自動。 THX

+0

..只需設置最小高度'min-height:400px;'? – Seer 2013-02-12 13:31:28

+0

你也可以在CSS中設置'min-height',並設置'overflow-y'。 – Archer 2013-02-12 13:31:32

+0

要點是滾動條對於我的設計來說很醜,所以我希望滾動條只在div變得太大時纔出現。 我假設你的意思是最大高度,對吧? – 2013-02-12 13:34:05

回答

0

如果你不想通過CSS來做到這一點,那麼你正在尋找的jQuery的功能是:

$("#element").outerHeight() and $("#element").outerWidth() 

他們返回元素的計算高度和寬度,而不是高度和明確設置的寬度。
所以,

if ($("#element").outerWidth() > 400) { 
    $("#element").width(400); 
    $("#element").css('overflow-y', 'scroll'); 
} 
+0

它看起來不錯。但實際上它在我的代碼中不起作用,我是否必須確定它何時檢查當前的高度? – 2013-02-12 13:38:45

+0

嘗試console.log($('#element')。outerWidth())並查看輸出是什麼 – ieeehh 2013-02-12 13:40:11

+0

並記住用元素的實際名稱替換#element – ieeehh 2013-02-12 13:40:58

0

如果你打算jQuery的方式,加入到@ieeehh,首先包括jQuery的。然後假設元素的編號爲#element

$(function(){ 
     if ($("#element").outerHeight() > 400) { 
      $("#element").width(400).css('overflow-y', 'scroll'); 
     } 
}); 
+0

我知道如何使用jQuery的一些擴展:) 但是,這不幸的是不做這項工作。 而且它是否故意繼續說outerWidth,當它與寬度無關? – 2013-02-12 13:54:50

+0

@KristianDaugaard錯誤,將其編輯爲高度! – 2013-02-12 13:56:03

相關問題