利用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 相关文章推荐
在子窗口中关闭父窗口的一句代码
Oct 21 Javascript
javascript去掉前后空格的实例
Nov 07 Javascript
jquery数组封装使用方法分享(jquery数组遍历)
Mar 25 Javascript
Javascript highcharts 饼图显示数量和百分比实例代码
Dec 06 Javascript
简单实现bootstrap选项卡效果
Feb 08 Javascript
ionic2自定义cordova插件开发以及使用(Android)
Jun 19 Javascript
vue按需加载组件webpack require.ensure的方法
Dec 13 Javascript
如何能分清npm cnpm npx nvm
Jan 17 Javascript
Node Mongoose用法详解【Mongoose使用、Schema、对象、model文档等】
May 13 Javascript
在vue中实现清除echarts上次保留的数据(亲测有效)
Sep 09 Javascript
JavaScript实现鼠标经过表格某行时此行变色
Nov 20 Javascript
微信小程序 根据不同用户切换不同TabBar
Apr 21 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
【COS正片】蕾姆睡衣cos,纯洁可爱被治愈了 cn名濑弥七
2020/03/02 日漫
一个更简单的无限级分类菜单代码
2007/01/16 PHP
PHP autoload与spl_autoload自动加载机制的深入理解
2013/06/05 PHP
php数组合并array_merge()函数使用注意事项
2014/06/19 PHP
yii 2.0中表单小部件的使用方法示例
2017/05/23 PHP
PHP attributes()函数讲解
2019/02/03 PHP
PHP配置ZendOpcache插件加速
2019/02/14 PHP
PHP命名空间(namespace)原理与用法详解
2019/12/11 PHP
javascript 二维数组的实现与应用
2010/03/16 Javascript
jQuery学习笔记之jQuery选择器的使用
2010/12/22 Javascript
JavaScript:Div层拖动效果实例代码
2013/08/06 Javascript
Javascript表格翻页效果的具体实现
2013/10/05 Javascript
javascript中不等于的代码是什么怎么写
2013/12/29 Javascript
jQuery源码解读之removeAttr()方法分析
2015/02/20 Javascript
Bootstrap组合上、下拉框简单实现代码
2017/03/06 Javascript
通过button将form表单的数据提交到action层的实例
2017/09/08 Javascript
Vue移动端右滑屏幕返回上一页附源码下载
2019/06/26 Javascript
Vue项目中Api的组织和返回数据处理的操作
2019/11/04 Javascript
Python实现配置文件备份的方法
2015/07/30 Python
python数字图像处理之高级形态学处理
2018/04/27 Python
Python从数据库读取大量数据批量写入文件的方法
2018/12/10 Python
python 提取key 为中文的json 串方法
2018/12/31 Python
pycharm 实现显示project 选项卡的方法
2019/01/17 Python
python列表,字典,元组简单用法示例
2019/07/11 Python
Python的Tkinter点击按钮触发事件的例子
2019/07/19 Python
python多进程(加入进程池)操作常见案例
2019/10/21 Python
浅谈keras中的batch_dot,dot方法和TensorFlow的matmul
2020/06/18 Python
软件工程师面试题
2012/06/25 面试题
历史专业个人求职信范文
2013/12/07 职场文书
小学生国旗下演讲稿
2014/04/25 职场文书
青奥会口号
2014/06/12 职场文书
迎国庆演讲稿
2014/09/15 职场文书
会计试用期自我评价
2014/09/19 职场文书
Canvas跟随鼠标炫彩小球的实现
2021/04/11 Javascript
使用springboot暴露oracle数据接口的问题
2021/05/07 Oracle
简单聊一聊SQL注入及防止SQL注入
2022/03/23 MySQL