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


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 相关文章推荐
setTimeout函数兼容各主流浏览器运行执行效果实例
Jun 13 Javascript
js使浏览器窗口最大化实现代码(适用于IE)
Aug 07 Javascript
JS小功能(onmouseover实现选择月份)实例代码
Nov 28 Javascript
js字符串日期yyyy-MM-dd转化为date示例代码
Mar 06 Javascript
js实现搜索框关键字智能匹配代码
Mar 26 Javascript
JavaScript数据绑定实现一个简单的 MVVM 库
Apr 08 Javascript
JS基于MSClass和setInterval实现ajax定时采集信息并滚动显示的方法
Apr 18 Javascript
JavaScript sort数组排序方法和自我实现排序方法小结
Jun 06 Javascript
vue制作加载更多功能的正确打开方式
Oct 12 Javascript
JS声明对象时属性名加引号与不加引号的问题及解决方法
Feb 16 Javascript
Node.js中你不可不精的Stream(流)
Jun 08 Javascript
layui使用templet格式化表格数据的方法
Sep 16 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转换颜色为其反色的方法
2015/04/27 PHP
php中使用gd库实现下载网页中所有图片
2015/05/12 PHP
详解PHP的Yii框架中扩展的安装与使用
2016/04/01 PHP
php PDO异常处理详解
2016/11/20 PHP
AJAX使用了UpdatePanel后无法使用alert弹出脚本
2010/04/02 Javascript
javascript改变position值实现菜单滚动至顶部后固定
2013/01/18 Javascript
jquery实现更改表格行顺序示例
2014/04/30 Javascript
js实现非常简单的焦点图切换特效实例
2015/05/07 Javascript
javascript+ajax实现产品页面加载信息
2015/07/09 Javascript
JavaScript实现显示函数调用堆栈的方法
2016/04/21 Javascript
深入浅出ES6之let和const命令
2016/08/25 Javascript
React Native第三方平台分享的实例(Android,IOS双平台)
2017/08/04 Javascript
深入浅析Vue全局组件与局部组件的区别
2018/06/15 Javascript
微信小程序实现发红包功能
2018/07/11 Javascript
python33 urllib2使用方法细节讲解
2013/12/03 Python
python单线程实现多个定时器示例
2014/03/30 Python
在Python中用keys()方法返回字典键的教程
2015/05/21 Python
python中偏函数partial用法实例分析
2015/07/08 Python
Python实现统计给定字符串中重复模式最高子串功能示例
2018/05/16 Python
PyCharm+PySpark远程调试的环境配置的方法
2018/11/29 Python
python占位符输入方式实例
2019/05/27 Python
python处理“
2019/06/10 Python
用Python调用win命令行提高工作效率的实例
2019/08/14 Python
python爬虫-模拟微博登录功能
2019/09/12 Python
pytorch中的weight-initilzation用法
2020/06/24 Python
Python实现弹球小游戏
2020/08/01 Python
linux mint中搜狗输入法导致pycharm卡死的问题
2020/10/28 Python
浅谈cookie和localStorage那些事
2019/08/27 HTML / CSS
Ticketmaster德国票务网站:购买音乐会和体育等门票
2016/11/14 全球购物
Space NK英国站:英国热门美妆网站
2017/12/11 全球购物
关于保护环境的建议书
2014/05/13 职场文书
高三英语教学计划
2015/01/23 职场文书
冲出亚马逊观后感
2015/06/03 职场文书
导游词之徐州-云龙山
2019/09/29 职场文书
node快速搭建后台的实现步骤
2022/02/18 NodeJs
阿里云服务器(windows)手动部署FTP站点详细教程
2022/08/05 Servers