根据屏幕大小调整div的大小

时间:2014-04-18 09:26:04

标签: javascript jquery html css fullscreen

我更像是一个前端开发者所以我只是真正复制并粘贴jQuery / Javascript有点家伙。我可以在阅读后修改位,但任何帮助或修改代码都会很棒。

除了屏幕的最后50px或100px之外,我想要一个横幅div填充,以便用户可以看到有更多内容可以滚动到这里(这是用图形完成的箭头)。

无论桌面到手机的屏幕尺寸如何,这都需要发生。我有以下代码调整我的包含div的大小以填充屏幕并适用于测试的所有设备我只需要最后一部分然后将xx像素移除到下面的内容中以便在屏幕上看到。

我有两个片段可以很好地完成整个屏幕

Snippet 1

<script type="text/javascript">
function handleResize() {
var h = jQuery(window).height();
    jQuery('.banner_slide').css({'height':h+'px'});
}
jQuery(function(){
    handleResize();
    jQuery(window).resize(function(){
    handleResize();
});
});
</script>

Snippet 2

<script type="text/javascript">
jQuery(function(){
    var windowH = jQuery(window).height();
    var wrapperH = jQuery('.banner_slide').height();
    if(windowH > wrapperH) {                            
        jQuery('.banner_slide').css({'height':(jQuery(window).height())+'px'});
    }                                                                               
jQuery(window).resize(function(){
    var windowH = jQuery(window).height();
    var wrapperH = jQuery('.banner_slide').height();
    var differenceH = windowH - wrapperH;
    var newH = wrapperH + differenceH;
    var truecontentH = jQuery('.banner_slide div').height();
    if(windowH > truecontentH) {
        jQuery('.banner_slide').css('height', (newH)+'px');
    }
    })          
});
</script>

任何帮助都会很棒

3 个答案:

答案 0 :(得分:0)

如果古老的浏览器支持不是问题,您可以使用css3 calc()函数。

为父级设置padding-right:50px,应用width: calc(100% - 50px)并将图像绝对定位在填充空间

答案 1 :(得分:0)

为什么不在css中使用媒体查询呢?

然后您可以根据您设置的方式调整所有屏幕尺寸,高度和宽度。

例如:

    @media (min-height: 500px) and (max-height: 796px){

     .banner_slide{
    height: 746px;
           }

    }

然后您可以将样式调整为您想要的任何屏幕尺寸,如果它的移动尺寸取决于移动设备,它可能更小。 (适应任何西装!)

 @media (min-height: 0px) and (max-height: 350px){

     .banner_slide{
    height: 300px;
           }

    }

答案 2 :(得分:0)

在代码段2中,通过从窗口高度减去横幅高度来计算得到的高度

var windowH = jQuery(window).height();
var wrapperH = jQuery('.banner_slide').height();
var differenceH = windowH - wrapperH;

你可以减去底部偏移的高度吗?

var windowH = jQuery(window).height();
var wrapperH = jQuery('.banner_slide').height();
var bottomOffset = jQuery('.image_on_bottom_page').height;
var differenceH = windowH - wrapperH - bottomOffset;