2013-02-09 37 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;