固定网页背景图同时保持图片比例的思路代码


Posted in Javascript onAugust 15, 2013

提供一个背景图片策略:

1,背景图片固定

2,随窗口大小改变而改变大小

3,保持比例不变而缩放

支持浏览器:IE 6,7,8,9+ ,FF,Chrome

演示地址:http://www.einino.net/bg_image.html

<style> 
body{margin:0; padding:0;height:2000px; } 
#background_img{ 
top:expression(documentElement.scrollTop); /*we need this expression to fixed the top*/ 
} 
</style>

/** 
*@desc make a fixed background image. resize the image to fit the window size besides do not lost the image's proportion 
*@author EI Nino 
*2013/8/15 
*/ 
var imgBackground=function(_img_obj) 
{ 
this.img = _img_obj; 
this.init(); 
} 
imgBackground.prototype={ 
init:function(){ 
this.img.style.top="0"; 
this.img.style.left="0"; 
if(navigator.appVersion.indexOf('MSIE 6.0')>0){ 
this.img.style.position="absolute"; 
this.img.style.bottom="auto"; 
if(!document.body.style.backgroundImage){//esacpe the flash when scroll the window in IE 6 
document.body.style.backgroundImage="url(about:blank)"; 
document.body.style.backgroundAttachment="fixed"; 
} 
} 
else{ 
this.img.style.position="fixed"; 
} 
this.ra = this.img.width/this.img.height; 
this.resize(); 
this.BindEvent(); 
}, 
resize:function() { 
var self=this; 
if((document.documentElement.clientWidth /document.documentElement.clientHeight )>=self.ra) 
{ 
self.img.style.width=document.documentElement.clientWidth+"px"; 
self.img.style.height=""; 
} 
else{ 
self.img.style.width=""; 
self.img.style.height=document.documentElement.clientHeight +"px"; 
} 
}, 
GetStyle:function(_obj,_style){ 
var obj = _obj; 
return obj.currentStyle? obj.currentStyle[_style] :window.getComputedStyle(obj, null)[_style]; 
}, 
BindEvent:function(){ 
var self = this; 
$(window).resize(function(){//use jquery lib 
self.resize(); 
}); 
} 
}; 
new imgBackground(document.getElementById("background_img"));
Javascript 相关文章推荐
javascript知识点收藏
Feb 22 Javascript
JQuery this 和 $(this) 的区别
Aug 23 Javascript
添加JavaScript重载函数的辅助方法2
Jul 04 Javascript
浅析JQuery获取和设置Select选项的常用方法总结
Jul 04 Javascript
JS.elementGetStyle(element, style)应用示例
Sep 24 Javascript
JavaScript实现函数返回多个值的方法
Jun 09 Javascript
JavaScript代码判断点击第几个按钮
Dec 13 Javascript
JavaScript+html5 canvas绘制的圆弧荡秋千效果完整实例
Jan 26 Javascript
ion content 滚动到底部会遮住一部分视图的快速解决方法
Sep 06 Javascript
jQuery html表格排序插件tablesorter使用方法详解
Feb 10 Javascript
详解Vue中添加过渡效果
Mar 20 Javascript
Angular指令之restict匹配模式的详解
Jul 27 Javascript
jQuery UI 实现email输入提示实例
Aug 15 #Javascript
javascript中如何处理引号编码&amp;#034;
Aug 15 #Javascript
Jquery中val()表单取值赋值的实例代码
Aug 15 #Javascript
jquery ajax方式直接提交整个表单核心代码
Aug 15 #Javascript
js冒泡法和数组转换成字符串示例代码
Aug 14 #Javascript
js实现无需数据库的县级以上联动行政区域下拉控件
Aug 14 #Javascript
Extjs3.0 checkboxGroup 动态添加item实现思路
Aug 14 #Javascript
You might like
php学习 函数 课件
2008/06/15 PHP
phpMyAdmin出现无法载入 mcrypt 扩展,请检查PHP配置的解决方法
2012/03/26 PHP
Window 7/XP 安装Apache 2.4与PHP 5.4 的过程详解
2013/06/02 PHP
CI框架表单验证实例详解
2016/11/21 PHP
laravel 实现向公共模板中传值 (view composer)
2019/10/22 PHP
从sohu弄下来的flash中展示图片的代码
2007/04/27 Javascript
js去除重复字符串两种实现方法
2013/01/09 Javascript
jQuery zTree树插件动态加载实例代码
2017/05/11 jQuery
vue.js框架实现表单排序和分页效果
2017/08/09 Javascript
详解为Bootstrap Modal添加拖拽的方法
2018/01/05 Javascript
vue树形结构获取键值的方法示例
2018/06/21 Javascript
解决VUEX的mapState/...mapState等取值问题
2020/07/24 Javascript
[50:28]LGD女子学院第三期 DOTA2复仇之魂教学
2013/12/24 DOTA
[00:47]DOTA2荣耀之路6:天火,天火!
2018/05/30 DOTA
python使用str &amp; repr转换字符串
2016/10/13 Python
Python 稀疏矩阵-sparse 存储和转换
2017/05/27 Python
python多线程socket编程之多客户端接入
2017/09/12 Python
Python Numpy 数组的初始化和基本操作
2018/03/13 Python
深入浅析python 中的匿名函数
2018/05/21 Python
解决pycharm每次新建项目都要重新安装一些第三方库的问题
2019/01/17 Python
python爬虫 爬取58同城上所有城市的租房信息详解
2019/07/30 Python
Python-Flask:动态创建表的示例详解
2019/11/22 Python
python爬虫要用到的库总结
2020/07/28 Python
River Island美国官网:英国高街时尚品牌
2018/09/04 全球购物
毕业生的自我鉴定该怎么写
2013/12/02 职场文书
师德学习感言
2014/01/31 职场文书
体育教学随笔感言
2014/02/24 职场文书
学校花圃的标语
2014/06/18 职场文书
语文教育专业求职信
2014/06/28 职场文书
放飞梦想演讲稿600字
2014/08/26 职场文书
2014七年级班主任工作总结
2014/12/05 职场文书
组织生活会发言材料
2014/12/15 职场文书
心灵点滴观后感
2015/06/02 职场文书
教师节表彰会主持词
2015/07/06 职场文书
蓝天保卫战收官在即 :15行业将开展环保分级评价
2019/07/19 职场文书
html中两种获取标签内的值的方法
2022/06/16 jQuery