利用onresize使得div可以随着屏幕大小而自适应的代码


Posted in Javascript onJanuary 15, 2010

当我们让div居中时候,一般有两种方法,一种是固定左右宽度,也就是使用像素绝对定位;另一种是用百分比来相对定位,在这种两种方式下,绝对定位是不能让div随着屏幕而自适应的,而用百分比就可以,但是,是用百分比就会有一个新的问题,如果我们的页面中有这么一句
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
的时候,top的百分比将会失效,而删除这句话的时候,一切正常,都是不知道这句标准的声明为什么会带来如此的不便
针对这个问题,我使用的下面的方法来实现div的自适应
首先 我用的是绝对定位的方式,先设置好div的左右上下边距。在body中添加两个事件,
<body bgcolor="#666666" onresize="test()" onload="getwah()">
getwah()用来获取屏幕的大小和div的各个边距,并计算出它们的差

var height,width,width_cha1,width_cha2; 
function getwah() 
{ 
if(document.documentElement && document.documentElement.clientWidth) 
{d_width = document.documentElement.clientWidth;} 
else if(document.body) 
{d_width = document.body.clientWidth;} 
width=parseInt(d_width); 
width_cha1=width-parseInt(document.getElementById("backi").style.left) 
width_cha2=width-parseInt(document.getElementById("massage_box").style.left) 
}

当屏幕大小变化的时候(onresize)触发test()函数,该函数就是用户根据之前获得屏幕与边距的差值重新设置div的边距,这样就可以实现党屏幕的大小改变后,div的边距也会相应地改变,从而实现div可以随着屏幕大小的改变而自适应
function test() 
{ 
if(document.documentElement && document.documentElement.clientWidth) 
{d_width = document.documentElement.clientWidth;} 
else if(document.body) 
{d_width = document.body.clientWidth;} 
var now_left1=parseInt(d_width )-width_cha1; 
var now_left2=parseInt(d_width )-width_cha2; 
document.getElementById("backi").style.left=now_left1 
document.getElementById("massage_box").style.left=now_left2 
}
Javascript 相关文章推荐
jquery遍历数组与筛选数组的方法
Nov 05 Javascript
Jquery之Bind方法参数传递与接收的三种方法
Jun 24 Javascript
JavaScript使用setTimeout实现延迟弹出警告框的方法
Apr 07 Javascript
jquery动态增加删减表格行特效
Nov 20 Javascript
jQuery实现点击查看大图并以弹框的形式居中
Aug 08 Javascript
微信小程序 图片边框解决方法
Jan 16 Javascript
使用Vue制作图片轮播组件思路详解
Mar 21 Javascript
Node.js命令行/批处理中如何更改Linux用户密码浅析
Jul 22 Javascript
对vux点击事件的优化详解
Aug 28 Javascript
详解JavaScript的内存空间、赋值和深浅拷贝
Apr 17 Javascript
Vuex实现购物车小功能
Aug 17 Javascript
在HTML中使用JavaScript的两种方法
Dec 24 Javascript
javascript 不间断的图片滚动并可点击
Jan 15 #Javascript
Span元素的width属性无效果原因及解决方案
Jan 15 #Javascript
javascript实现的基于金山词霸网络翻译的代码
Jan 15 #Javascript
JQuery 引发两次$(document.ready)事件
Jan 15 #Javascript
用jQuery扩展自写的 UI导航
Jan 13 #Javascript
jQuery的一些特性和用法整理小结
Jan 13 #Javascript
JavaScript关于select的相关操作说明
Jan 13 #Javascript
You might like
PHP基于php_imagick_st-Q8.dll实现JPG合成GIF图片的方法
2014/07/11 PHP
php封装db类连接sqlite3数据库的方法实例
2017/12/19 PHP
jquery 插件之仿“卓越亚马逊”首页弹出菜单效果
2008/12/25 Javascript
THREE.JS入门教程(1)THREE.JS使用前了解
2013/01/24 Javascript
DWZ刷新dialog解决方法
2013/03/03 Javascript
纯js分页代码(简洁实用)
2013/11/05 Javascript
jQuery基于ajax实现页面加载后检查用户登录状态的方法
2017/02/10 Javascript
jQuery实现鼠标滑过预览图片大图效果的方法
2017/04/26 jQuery
vue-router单页面路由
2017/06/17 Javascript
JS实现移动端按首字母检索城市列表附源码下载
2017/07/05 Javascript
Vue computed计算属性的使用方法
2017/07/14 Javascript
详解基于Koa2开发微信二维码扫码支付相关流程
2018/05/16 Javascript
详解小程序原生使用ES7 async/await语法
2018/08/06 Javascript
微信小程序首页的分类功能和搜索功能的实现思路及代码详解
2018/09/11 Javascript
浅析vue-router原理
2018/10/19 Javascript
js实现幻灯片轮播图
2020/08/14 Javascript
[02:06]DOTA2肉山黑名单魔法终结者 敌法师中文配音鉴赏
2013/06/17 DOTA
Python version 2.7 required, which was not found in the registry
2014/08/26 Python
python网络编程调用recv函数完整接收数据的三种方法
2017/03/31 Python
python并发编程之线程实例解析
2017/12/27 Python
分析Python读取文件时的路径问题
2018/02/11 Python
python实现读取大文件并逐行写入另外一个文件
2018/04/19 Python
python 读写文件,按行修改文件的方法
2018/07/12 Python
Win10下python3.5和python2.7环境变量配置教程
2018/09/18 Python
Python中print和return的作用及区别解析
2019/05/05 Python
Python对wav文件的重采样实例
2020/02/25 Python
Python从MySQL数据库中面抽取试题,生成试卷
2021/01/14 Python
用CSS3来实现社交分享按钮
2014/11/11 HTML / CSS
Agoda.com官方网站:便宜预订全球酒店,高达80%的折扣
2018/04/04 全球购物
全球最大的户外用品零售商之一:The House
2018/06/12 全球购物
mysql_pconnect()和mysql_connect()有什么区别
2012/05/25 面试题
介绍一下UNIX启动过程
2013/11/14 面试题
高中毕业自我鉴定
2013/12/16 职场文书
安全责任书模板
2014/07/22 职场文书
2015年初三班主任工作总结
2015/05/21 职场文书
Python之matplotlib绘制饼图
2022/04/13 Python