2013-02-09 39 views
1

我想知道,有沒有辦法讓DOM元素更喜歡視口的高度和寬度的100%,除非它的內容會溢出視口的高度或寬度?div Wrap content or fullscreen

我試着用這個CoffeeScript的,但它結束了與一些討厭的recurssions

resizeHandled = false; 
$(window).resize -> 
    if(resizeHandled) 
     resizeHandled = false; 
     return; 
    docHeight = $(document).height(); 
    vpHeight = $(window).height(); 
    if(docHeight > vpHeight) 
     tallestHeight = docHeight; 
    else 
     tallestHeight = vpHeight; 

    $("[data-fullscreen]").height(tallestHeight); 
    resizeHandled = true; 

我需要這樣的東西,所以全屏谷歌地圖不會削減自身關閉,如果我轉動我的設備和其他內容頂部的div溢出視口。

http://i.imgur.com/16ohHhV.png 這就是我現在面臨的問題,像谷歌地圖的id匹配與覆蓋div頂部的高度,它會如果具有地圖和覆蓋的容器會表現我的方式我在這裏描述。

回答

0

我不熟悉的CoffeeScript,但與普通的JavaScript,你可以做這樣的事情

var resizeHandled = false; 

window.onresize = function(){ 

    // you may want to use document.getElementsByClassName here 
    var div = document.getElementsByTagName('div')[0]; 

    if(resizeHandled || (div.clientHeight < document.documentElement.clientHeight)){ 
    div.style.height = document.documentElement.clientHeight + 'px'; 
    resizeHandled = true; 
    }   
}; 

window.onresize(); 

demo

0

如果地圖上的div的文字或圖片內容四溢的實際DIV容器和覆蓋你的谷歌地圖,那麼你可以嘗試div元素上改變CSS來:

overflow-y: hidden; 

overflow-y: scroll;