频道栏目
首页 > 资讯 > JavaScript > 正文

分享一个JS处理大背景图的方法

18-05-31        来源:[db:作者]  
收藏   我要投稿

今天来跟大家分享一个JS处理大背景图的方法:

(PS:这个方法是为了解决在不同分辨率的电脑上根据视口大小对大背景图片的处理!)

这是HTML部分:

<span style="font-size:12px;"><style>  
    *{  
        margin: 0;  
        padding: 0;  
    }  
    html,body,.container{  
        width: 100%;  
    }  
    .banner{  
        height: 40px;  
        width: 100%;  
        background: url("img/bg_banner.png") no-repeat;  
    }  
    .head{  
        height: 400px;  
        width: 100%;  
        background: url("img/bg_head.png") no-repeat;  
    }  
</style>  
  
<div class="container">  
    <div class="banner"></div>  
    <div class="head"></div>  
</div></span>  

下边是JS部分:

<script>  
        //获取视口宽度  
        var viewportWidth = document.documentElement.clientWidth;  
        //设计图最大宽度  
        var designWidth = 1920;  
        //向左侧移动的距离  
        var offsetLeft = (designWidth - viewportWidth)/2;  
        //通过querySelector()方法 来提取相应的图片div  
        var head_img = document.querySelector(".head");  
        var banner = document.querySelector(".banner");  
        //设置图片的偏移量  
        head_img.style.backgroundPositionX=-offsetLeft + "px";  
        banner.style.backgroundPositionX=-offsetLeft + "px";  
  
        //window.onresize() 是当视口调整时执行的方法  
        window.onresize = function(){  
            var viewportWidth = document.documentElement.clientWidth;  
            MoveTo(viewportWidth,1920,head_img,500);  
            MoveTo(viewportWidth,1920,banner,500);  
  
        }  
  
        //封装函数MoveTo  
        function MoveTo(viewportWidth,designWidth,head_img,minWidth){  
  
            if(viewportWidth<minWidth){  
                return;  
            }  
            var offsetLeft = (designWidth - viewportWidth)/2;  
            head_img.style.backgroundPositionX=-offsetLeft + "px";  
        }  
    </script>  

在JS最底部进行了函数封装,在下次调用时直接输入参数即可。

相关TAG标签
上一篇:HTML5重写video控制栏,Chrome去除下载按钮的代码实例讲解
下一篇:typescript简单公用方法:范围内获取整数随机数、判断Object是否为空及滚动数值
相关文章
图文推荐

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站