背景图片的平铺方法有很多种,纯色背景,渐变背景,图片背景,今天讲的是移动端的图片背景~~~~

<style>
html,body{height:100%;padding:;margin:;}
.body{background: url(image.jpg) no-repeat 0 0;background-size: 100% 100%;}
</style>
<body class="body">
<script type="text/javascript" src="http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.10.2.min.js"></script>
<script>
(function(w){
function changeBg(params){
var self = this;
self.direction = 1;//1为竖平,2为垂直
self.bodyWidth = self.bodyHeight = self.width = self.height = 1;
function afterChangeDirection(){
self.bodyWidth = $(document).width();
self.bodyHeight = $(document).height();
if(self.direction == 1){
document.body.style="";
}else{
var h = self.bodyWidth / (self.width/self.height);
h = Math.max(self.height,h);
$("body").height(h + "px");
document.body.style.backgroundSize=self.bodyWidth+"px "+h + "px";
}
}
function setDirection(dir){
self.direction = dir;
afterChangeDirection();
}
function init(){
$.extend(self,params);
self.bodyWidth = $(document).width();
self.bodyHeight = $(document).height();
if(w.matchMedia) {
var mql = w.matchMedia("(orientation: portrait)");
if (mql.matches) {// 如果有匹配,则我们处于垂直视角
setDirection(1);
} else {//水平方向
setDirection(2);
}
mql.addListener(function(m) {
if(m.matches) {// 改变到直立方向
setDirection(1);
} else {// 改变到水平方向
setDirection(2);
}
});
}else if(typeof(w.orientation) != 'undefined'){
w.addEventListener('orientationchange', function(event){
if ( w.orientation == 180 || w.orientation==0 ) {
setDirection(1);
}else {//if( window.orientation == 90 || window.orientation == -90 )
setDirection(2);
}
});
}
}
init();
}
w.changeBg = changeBg;
})(window); //这个代码放页面里,上面代码放JS文件里
$(function(){
new changeBg({
width:395, //背景图片实际宽度
height:700 //背景图片实际高度
});
});
</script>
</body>

一款js控制背景图片平铺的更多相关文章

  1. ie8下背景图片平铺问题

    IE9+及其他浏览器实现背景图片平铺可能需要一个属性就可以background-size:100%/cover; 但是ie8下background-size是不兼容的,因此我们需要用到滤镜,来解决背景 ...

  2. Duilib技巧:背景图片平铺

    贴图的描述 方式有两种    // 1.aaa.jpg    // 2.file='aaa.jpg' res='' restype='0' dest='0,0,0,0' source='0,0,0,0 ...

  3. Android中设定背景图片平铺。

    注:本文由Colin撰写,版权所有!转载请注明原文地址,谢谢合作! 在做Android开发时,我们常常需要为程序设定一个背景,但由于现在的Android设备尺寸不一,如果随便设置一个图片为背景,那么很 ...

  4. Android设置背景图片平铺

    以LinearLayout为例,它提供的background属性将会将背景图片拉伸,相当难看.其实我们仅仅需做少量的改动就能够实现web编程中css背景图片的效果.来试试吧. 创建反复的背景图片 在d ...

  5. Android: 背景图片平铺要这么干

    <?xml version="1.0" encoding="utf-8"?>  <bitmap xmlns:android="htt ...

  6. CSS背景横向平铺BUG,解决方法

    给定DIV一个背景图片横向平铺,缩小浏览器,拉动横向滚动条,此时触发此BUG:背景图片平铺不完整 解决办法: 1.把背景图片写在BODY上,此办法局限于没有使用iframe的情况下,所以少用 2.设定 ...

  7. LODOP打印超文本保留背景色带平铺水印

    前面的博文:LODOP中设置设置图片平铺水印,超文本透明. 介绍过 ,如果不想去掉超文本的背景色,想在超文本背景色和超文本内容文字之间加上水印,让水印在背景色上面,文字下面,是不行的,因为平铺的图片和 ...

  8. CSS背景100%平铺 浏览器缩小背景显示不全解决办法

    本文我们分享前端CSS背景100%平铺,浏览器缩小背景显示不全bug解决的两个方法,如果你也遇到了,那么就可以参考下面文章. 把浏览器的窗口缩小时,拖动滚动条时你会发现原本设定的CSS背景100%平铺 ...

  9. css 样式 图片平铺整个界面

    比如一个容器(body,div,span)中设定一个背景.这个背景的长宽值在css2.1之前是不能被修改的. 所以实际的结果是只能重复显示,所以出现了repeat,repeat-x,repeat-y, ...

随机推荐

  1. 面向对象设计原则OO

    面向对象设计原则是OOPS(Object-Oriented Programming System,面向对象的程序设计系统)编程的核心,但大多数Java程序员追逐像Singleton.Decorator ...

  2. You Need This One Skill to Succeed in IT--reference

    The ability to program in five languages, including one machine-level? Not it. Project management sk ...

  3. hdfs: 一个分布式文件系统(一)

    一. hdfs设计的动机 为大规模分布式计算准备的分布式文件系统,并非实时性要求很高的文件系统. 二. 设计的取舍 1. 因为要求有高吞吐量,所以牺牲读取文件的实时性,实时性要求高的分布式文件系统可以 ...

  4. C中的回调函数

    C语言中应用回调函数的地方非常多,如Nginx中: struct ngx_command_s { ngx_str_t name; ngx_uint_t type; char *(*set)(ngx_c ...

  5. SQL Server:替换文本中的回车和换行符

    --替换回车符 update master_locationSET street_number = REPLACE(street_number, CHAR(13), '') --替换换行符 updat ...

  6. 给jdk写注释系列之jdk1.6容器(10)-Stack&Vector源码解析

    前面我们已经接触过几种数据结构了,有数组.链表.Hash表.红黑树(二叉查询树),今天再来看另外一种数据结构:栈.      什么是栈呢,我就不找它具体的定义了,直接举个例子,栈就相当于一个很窄的木桶 ...

  7. 使用openoffice将word文件转换为pdf格式遇到问题:The type com.sun.star.lang.XEventListener cannot be resolved. It is indirectly referenced from required

    The type com.sun.star.lang.XEventListener cannot be resolved. It is indirectly referenced from requi ...

  8. [改善Java代码]正确使用String,StringBuffer,StringBuilder

    CharSequence接口有三个实现类与字符串有关:String,StringBuffer,StringBuffer.虽然它们都与字符串有关,但是其处理机制是不同的. String类是不可改变的量, ...

  9. 24小时学通Linux内核之如何处理输入输出操作

    真的是悲喜交加呀,本来这个寒假早上8点都去练车,两个小时之后再来实验室陪伴Linux内核,但是今天教练说没名额考试了,好纠结,不过想想就可以睡懒觉了,哈哈,自从大三寒假以来还没睡过懒觉呢,现在也有更多 ...

  10. DisableExplicitGC和Direct ByteBuffer

    直接堆外内存请参见:http://blog.csdn.net/lantian0802/article/details/39257087 JVM调优请参见:http://hllvm.group.itey ...