利用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学习笔记 用jquery实现无刷新登录
Aug 08 Javascript
电子商务网站上的常用的js放大镜效果
Dec 08 Javascript
利用JS进行图片的切换即特效展示图片
Dec 03 Javascript
JavaScript中的方法重载实例
Mar 16 Javascript
JS实现从表格中动态删除指定行的方法
Mar 31 Javascript
JavaScript高级程序设计(第三版)学习笔记6、7章
Mar 11 Javascript
深入理解javascript中的 “this”
Jan 17 Javascript
使用 Javascript 实现浏览器推送提醒功能的示例
Nov 03 Javascript
Mint UI 基于 Vue.js 移动端组件库
Nov 07 Javascript
vue 实现v-for循环回来的数据动态绑定id
Nov 07 Javascript
Vue事件处理原理及过程详解
Mar 11 Javascript
vue中的v-model原理,与组件自定义v-model详解
Aug 04 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 session和cookie使用说明
2010/04/07 PHP
php实现网页上一页下一页翻页过程详解
2019/06/28 PHP
JavaScript简单实现网页回到顶部功能
2013/11/12 Javascript
Javascript中使用A标签获取当前目录的绝对路径方法
2015/03/02 Javascript
javascript用函数实现对象的方法
2015/05/14 Javascript
js实现网站最上边可关闭的浮动广告条代码
2015/09/04 Javascript
基于javascript实现彩票随机数生成(升级版)
2020/04/17 Javascript
JS实现类似百叶窗下拉菜单效果
2016/12/30 Javascript
node.js 抓取代理ip实例代码
2017/04/30 Javascript
jQuery实现文件编码成base64并通过AJAX上传的方法
2018/04/12 jQuery
解决vue v-for 遍历循环时key值报错的问题
2018/09/06 Javascript
Node.js 使用axios读写influxDB的方法示例
2018/10/26 Javascript
ng-zorro-antd 入门初体验
2018/12/03 Javascript
layer.open组件获取弹出层页面变量、函数的实例
2019/09/25 Javascript
使用vue-router切换页面时实现设置过渡动画
2019/10/31 Javascript
《javascript设计模式》学习笔记五:Javascript面向对象程序设计工厂模式实例分析
2020/04/08 Javascript
微信小程序onShareTimeline()实现分享朋友圈
2021/01/07 Javascript
Vue常用API、高级API的相关总结
2021/02/02 Vue.js
[01:34]DAC2018主赛事第四日五佳镜头 Gh巨牙海民助Miracle-死里逃生
2018/04/07 DOTA
python对指定目录下文件进行批量重命名的方法
2015/04/18 Python
Python六大开源框架对比
2015/10/19 Python
python实时分析日志的一个小脚本分享
2017/05/07 Python
Python爬取当当、京东、亚马逊图书信息代码实例
2017/12/09 Python
python 保存float类型的小数的位数方法
2018/10/17 Python
Python Pandas数据中对时间的操作
2019/07/30 Python
Python爬取365好书中小说代码实例
2020/02/28 Python
python实现将两个文件夹合并至另一个文件夹(制作数据集)
2020/04/03 Python
Furla官网:意大利著名的皮革品牌
2019/08/06 全球购物
关于青春的演讲稿800字
2014/08/22 职场文书
银行自荐信范文
2015/03/25 职场文书
2015年安全生产管理工作总结
2015/05/25 职场文书
婚宴主持词
2015/06/30 职场文书
2019新学期家长会工作计划
2019/08/21 职场文书
七年级作文之游记
2019/12/11 职场文书
Win11如何修改dns?Win11修改dns图文教程
2022/01/18 数码科技
USB TYPE-C 或将成为所有智能手机充电标准
2022/04/21 数码科技