onresize事件

来源:互联网 发布:专题片男生配音软件 编辑:程序博客网 时间:2024/05/02 05:45
onresize的定义方式
一、直接在html中定义
    如<body onresize="doResize()"/>
二、直接给onresize赋值
    可以给window和body的onresize赋值
    如window.onresize=function(){},document.body.onresize=function(){}
三、使用事件监听
    只对window有作用
    如window.addEventListener("resize",fn);
说明:
    1、直接给onresize赋值会覆盖在html中定义。
    2、直接给onresize赋值,window,body只有一个起作用,后定义的会覆盖先定义的
    3、事件监听只对window有效,可以其它方式同时触发。
Java代码 
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"
  2. <html xmlns="http://www.w3.org/1999/xhtml"
  3. <head> 
  4.   <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
  5.   <title> new document </title> 
  6.   <style>html,body{border:5px solid #06F;}</style> 
  7. </head> 
  8.  
  9. <body onresize="a();"
  10.    <div id="show">0</div>   
  11.    <div id="div" style="border:1px solid #000"></div>   
  12.    <textarea id="re" cols="30" rows="6"></textarea>  
  13.     <script>   
  14.     var re=document.getElementById("re"); 
  15.      //同时定义body与window的onresize 
  16.      //ff下window上的启作用,ff下,用js定义在body上不启作用 
  17.      //ie chrome opra下 根据body与window定义的先后顺序 后定义的覆盖先定义的 
  18.  
  19.      //在任意浏览器下,js定义的会覆盖在标签上直接定义的onresize事件。 
  20.       
  21.      document.body.onresize=function () { 
  22.         re.value+='this is body js resize.\n'
  23.      } 
  24.      window.onresize=function () { 
  25.         re.value+='this is window resize.\n'
  26.      }  
  27.      
  28.      //使用listener监听事件只能在window上,在body上无效。 
  29.      bind(document.body,"resize",function(){ 
  30.         re.value+='this is body  resize in litener.\n'
  31.      }); 
  32.      bind(window,"resize",function(){ 
  33.         re.value+='this is window  resize in litener.\n'
  34.      }); 
  35.      function a() { 
  36.          re.value+=("this is body html resize\n"); 
  37.      } 
  38.     //任意html元素,改变内容,是否触发onresize,则只有ie下启作用 
  39.     var i = 0;   
  40.     var div=document.getElementById("div"); 
  41.     var show=document.getElementById("show"); 
  42.     div.onresize = function(){ show.innerHTML = ++i; }   
  43.     setTimeout('div.innerHTML="test"',1000)   
  44.     setTimeout('div.style.height="50px"',2000)  ; 
  45.     
  46.    function bind(el,eventName,fn) { 
  47.         if (window.addEventListener) { 
  48.             el.addEventListener(eventName, fn,false); 
  49.         } else if (window.attachEvent) { 
  50.                 el.attachEvent("on" + eventName, fn); 
  51.         }  
  52.    } 
  53.    </script>   
  54. </body> 
  55. </html> 
原创粉丝点击