【javascript脚本】动态设置div的高度和宽带

【javascript脚本】动态设置div的高度和宽带

1、问题:经常用到gridview因为列太多  导致撑大浏览器出现浏览器窗口级别的滚动条;

2、续上面的问题:这个时候需要在gridview外面嵌套一个div  div设置具体的宽度,那么无论里面的gridview有多少列 有多宽 都不会导致窗口出现滚动条 只可能让div出现滚动条, 这样在用户体验方面 可以更加好些;

3、因为div要设置具体的宽度  所以不同的显示器下面  这样的显示效果不一样;有的很难看、有的不错;

4、根据以上问题 可以通过javascript  在窗体的resize事件中 动态设定div的大小;

这样显示会更加美观些……

 

一、Html页面:

<inputtype="text"name="availHeight"size="4"/><br/>

<inputtype="text"name="availWidth"size="4"/><br/>

<divid="div1"style="background-color:Graywidth:616pxheight305px;"></div>

 

 

注:三个html控件  动态将当前窗口的高度、宽度写入 input 输入框里面;

动态改变div1 的宽度;

 

二、javascript代码:

 

?
<scripttype= "text/javascript" >
 
     var  winWidth=0;
 
     var  winHeight=0;
 
     function  findDimensions() { //函数:获取尺寸
 
         //获取窗口宽度
 
         if  (window.innerWidth) {
 
             winWidth = window.innerWidth;
 
         }
 
         elseif ((document.body) && (document.body.clientWidth)) {
 
             winWidth = document.body.clientWidth;
 
         }
 
         //获取窗口高度
 
         if  (window.innerHeight) {
 
             winHeight = window.innerHeight;
 
         }
 
         elseif ((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.form1.availHeight.value=winHeight;
 
         document.form1.availWidth.value = winWidth;
 
         //设置div的具体宽度=窗口的宽度的%
 
         if  (document.getElementById( "div1" )) {
 
             document.getElementById( "div1" ).style.width = winWidth*0.98 + "px" ;
 
         }
 
     }
 
     findDimensions();
 
     window.onresize=findDimensions;
 
</script>

 

三、注意要点:因为是要先有div1出现   然后 javascript 脚本改变 它的大小 ;所以javascript脚本 最好放在  最后面;

 

四、Demo源码:

 

?
<html xmlns= "http://www.w3.org/1999/xhtml" >
 
<head runat= "server" >
 
     <title>窗口大小</title>
 
</head>
 
<body>
 
<h2 align= "center" >请调整浏览器窗口大小</h2>
 
<hr/>
 
<form action= "#" method= "get" name= "form1" id= "form1" >
 
<!--显示浏览器窗口的实际尺寸-->
 
浏览器窗口的高度:<input type= "text" name= "availHeight" size= "4" /><br/>
 
浏览器窗口的宽度:<input type= "text" name= "availWidth" size= "4" /><br/>
 
</form>
 
<div id= "div1" style= "background-color:Gray; width:616px; height: 305px;" ></div>
 
  
 
<script type= "text/javascript" >
 
     var  winWidth=0;
 
     var  winHeight=0;
 
     function  findDimensions() { //函数:获取尺寸
 
         //获取窗口宽度
 
         if  (window.innerWidth) {
 
             winWidth = window.innerWidth;
 
         }
 
         elseif ((document.body) && (document.body.clientWidth)) {
 
             winWidth = document.body.clientWidth;
 
         }
 
         
 
         //获取窗口高度
 
         if  (window.innerHeight) {
 
             winHeight = window.innerHeight;
 
         }
 
         elseif ((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.form1.availHeight.value=winHeight;
 
         document.form1.availWidth.value = winWidth;
 
  
 
         //设置div的具体宽度=窗口的宽度的%
 
         if  (document.getElementById( "div1" )) {
 
             document.getElementById( "div1" ).style.width = winWidth*0.98 + "px" ;
 
         }
 
     }
 
     findDimensions();
 
     window.onresize=findDimensions;
 
</script>
 
</body>
</html>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值