怎么用js写一个div的宽度发生改变的事件 比如随浏览器窗口大小改变而改变

如题所述

<script type="text/javascript">

var winWidth = 0;
var winHeight = 0;
function findDimensions() //函数:获取尺寸
{
//获取窗口宽度
if (window.innerWidth)
winWidth = window.innerWidth;
else if ((document.body) && (document.body.clientWidth))
winWidth = document.body.clientWidth;
//获取窗口高度
if (window.innerHeight)
winHeight = window.innerHeight;
else if ((document.body) && (document.body.clientHeight))
winHeight = document.body.clientHeight;
//通过深入Document内部对body进行检测,获取窗口大小
if (document.documentElement && document.documentElement.clientHeight && document.documentElement.clientWidth)
{
winHeight = document.documentElement.clientHeight;
winWidth = document.documentElement.clientWidth;
}
//这块
//document.body.style.height = winHeight + "px";
//document.body.style.width = winWidth + "px";

document.getElementById("a1111").style.height = winHeight + "px";
document.getElementById("a1111").style.width = winWidth + "px";
}
findDimensions();
//调用函数,获取数值
window.onresize=findDimensions;

</script>追问

if (window.innerWidth)
winWidth = window.innerWidth;
else if ((document.body) && (document.body.clientWidth))
winWidth = document.body.clientWidth;
为什么还要判断呢 window的内宽肯定不能为0 吧?

温馨提示:答案为网友推荐,仅供参考
第1个回答  2017-12-17
你想让div随着哪个元素改变就给那个元素添加事件
比如
window.onresize=function(){ //随着窗口的改变而改变
//事件里添加要改变的逻辑
div.offsetWidth=(document.documentElement.clientWidth||document.body.clientWidth)/比例
}
第2个回答  2017-12-18
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>测试</title> <style> #ddd{ background-color: red; } </style></head><body> <div id= "ddd"></div> <script> var ddd = document.getElementById('ddd'); window.getComputedStyle(ddd, null); //获取可视窗口的大小调整 var width = window.innerWidth; var height = window.innerHeight; ddd.style.height = height/2 + 'px'; ddd.style.width = width/2 + 'px'; </script></body></html>
第3个回答  推荐于2017-07-26
不需要写js,只需要div自适应就可以了。或者设置width="100%"本回答被提问者和网友采纳
第4个回答  2017-12-15
window.onresize=function(){
document.getElementById("div").style.width=你的高度;
}
高度相同 onresize是窗口大小改变时触发的事件