javascript设置DIV宽度为百分比正方型,打开时DIV是正方形,但当窗口缩放时,DIV不是正方形,刷新后才是

用<script>
var divOne=document.getElementById('divOne');
divOne.style.height=divOne.offsetWidth+'px';
</script>设置DIV宽度为百分比的正方型,打开时DIV可以成正方形,但当窗口缩放时,DIV的高度不会同时改变,要刷新后才可以;
怎么让浏览器缩放时,div也是正方形

完美的解决办法是用css,比如:
<div id=divOne style="width:50%; height:50vw; background-color:red"></div>
缺点就是只有支持css3的浏览器(比如chrome、FireFox等)才有效果。
如果一定要用JavaScript,那么就要把代码放入onresize事件才行,即:
<script>
window.onload=window.onresize=function(){
var divOne=document.getElementById('divOne');
divOne.style.height=divOne.offsetWidth+'px';
}
</script>
温馨提示:答案为网友推荐,仅供参考