利用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 相关文章推荐
在UpdatePanel内jquery easyui效果失效的解决方法
Apr 11 Javascript
validator验证控件使用代码
Nov 23 Javascript
jQuery调用WebService的实现代码
Jun 19 Javascript
js实现密码强度检测【附示例】
Mar 30 Javascript
angular-ui-sortable实现可拖拽排序列表
Dec 28 Javascript
AngularJS实现单一页面内设置跳转路由的方法
Jun 28 Javascript
input框中自动展示当前日期yyyy/mm/dd的实现方法
Jul 06 Javascript
Vue集成Iframe页面的方法示例
Dec 12 Javascript
实例解析ES6 Proxy使用场景介绍
Jan 08 Javascript
vue项目中使用tinymce编辑器的步骤详解
Sep 11 Javascript
php结合js实现多条件组合查询
May 28 Javascript
如何基于jQuery实现五角星评分
Sep 02 jQuery
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中DOMDocument简单用法示例代码(XML创建、添加、删除、修改)
2010/12/19 PHP
JXTree对象,读取外部xml文件数据,生成树的函数
2007/04/02 Javascript
javascript cookie操作类的实现代码小结附使用方法
2010/06/02 Javascript
基于json的jquery地区联动效果代码
2011/07/06 Javascript
jquery的$getjson调用并获取远程的JSON字符串问题
2012/12/10 Javascript
js 浏览本地文件夹系统示例代码
2013/10/24 Javascript
IE浏览器中图片onload事件无效的解决方法
2014/04/29 Javascript
JS解析后台返回的JSON格式数据实例
2018/08/06 Javascript
详解vue-cli3使用
2018/08/14 Javascript
浅谈React Event实现原理
2018/09/20 Javascript
详解JavaScript的变量
2019/04/04 Javascript
[42:39]老党炸弹人试玩视频
2014/09/03 DOTA
python 3.5实现检测路由器流量并写入txt的方法实例
2017/12/17 Python
Python操作mysql数据库实现增删查改功能的方法
2018/01/15 Python
TensorFlow实现模型评估
2018/09/07 Python
Keras loss函数剖析
2020/07/06 Python
tensorflow基于CNN实战mnist手写识别(小白必看)
2020/07/20 Python
aec加密 php_php aes加密解密类(兼容php5、php7)
2021/03/14 PHP
美国知名女性服饰品牌:New York & Company
2017/03/23 全球购物
欧洲最大的滑雪假期供应商之一:Sunweb Holidays
2018/01/06 全球购物
美国战术品牌:5.11 Tactical
2019/05/01 全球购物
Skyscanner新西兰:全球领先的旅游搜索网站
2019/08/26 全球购物
ECCO英国官网:丹麦鞋履品牌
2019/09/03 全球购物
Servlet的生命周期
2013/08/25 面试题
工程监理应届生求职信
2013/11/09 职场文书
护士求职推荐信范文
2013/11/23 职场文书
数学教学随笔感言
2014/02/17 职场文书
指导教师评语
2014/04/26 职场文书
青春励志演讲稿范文
2014/08/25 职场文书
学校党的群众路线教育实践活动个人整改方案
2014/10/31 职场文书
2014年妇幼卫生工作总结
2014/12/09 职场文书
超搞笑婚前保证书
2015/05/08 职场文书
2015年“我们的节日·中秋节”活动总结
2015/07/30 职场文书
干货:如何写好工作总结报告!
2019/05/10 职场文书
python前后端自定义分页器
2022/04/13 Python
鲲鹏 CentOS 7 安装Python3.7
2022/05/11 Servers