zoukankan      html  css  js  c++  java
  • DOM(三)

    使用dom操作css

     1 <!DOCTYPE html>
     2 <html>
     3     <head>
     4         <meta charset="UTF-8">
     5         <title></title>
     6         <style type="text/css">
     7             
     8             #box1{
     9                 width: 100px;
    10                 height: 100px;
    11                 background-color: red;
    12             }
    13             
    14         </style>
    15         
    16         <script type="text/javascript">
    17             
    18             window.onload = function(){
    19                 
    20                 /*
    21                  * 点击按钮以后,修改box1的大小
    22                  */
    23                 //获取box1
    24                 var box1 = document.getElementById("box1");
    25                 //为按钮绑定单击响应函数
    26                 var btn01 = document.getElementById("btn01");
    27                 btn01.onclick = function(){
    28                     
    29                     //修改box1的宽度
    30                     /*
    31                      * 通过JS修改元素的样式:
    32                      *     语法:元素.style.样式名 = 样式值
    33                      * 
    34                      * 注意:如果CSS的样式名中含有-,
    35                      *         这种名称在JS中是不合法的比如background-color
    36                      *         需要将这种样式名修改为驼峰命名法,
    37                      *         去掉-,然后将-后的字母大写
    38                      * 
    39                      * 我们通过style属性设置的样式都是内联样式40                      *     而内联样式有较高的优先级,所以通过JS修改的样式往往会立即显示
    41                      * 
    42                      * 但是如果在样式中写了!important,则此时样式会有最高的优先级,
    43                      *     即使通过JS也不能覆盖该样式,此时将会导致JS修改样式失效
    44                      *     所以尽量不要为样式添加!important
    45                      * 
    46                      * 
    47                      * 
    48                      */
    49                     box1.style.width = "300px";
    50                     box1.style.height = "300px";
    51                     box1.style.backgroundColor = "yellow";
    52                     
    53                 };
    54                 
    55                 
    56                 //点击按钮2以后,读取元素的样式
    57                 var btn02 = document.getElementById("btn02");
    58                 btn02.onclick = function(){
    59                     //读取box1的样式
    60                     /*
    61                      *     语法:元素.style.样式名
    62                      * 
    63                      * 通过style属性设置和读取的都是内联样式
    64                      *     无法读取样式表中的样式
    65                      */
    66                     //alert(box1.style.height);
    67                     alert(box1.style.width);
    68                 };
    69             };
    70             
    71             
    72         </script>
    73     </head>
    74     <body>
    75         
    76         <button id="btn01">点我一下</button>
    77         <button id="btn02">点我一下2</button>
    78         
    79         <br /><br />
    80         
    81         <div id="box1"></div>
    82         
    83     </body>
    84 </html>

    读取元素节点样式

      1 <!DOCTYPE html>
      2 <html>
      3     <head>
      4         <meta charset="UTF-8">
      5         <title></title>
      6         <style type="text/css">
      7             
      8             #box1{
      9                 width: 100px;
     10                 height: 100px;
     11                 background-color: yellow;
     12             }
     13             
     14         </style>
     15         
     16         <script type="text/javascript">
     17             
     18             window.onload = function(){
     19                 
     20                 //点击按钮以后读取box1的样式
     21                 var box1 = document.getElementById("box1");
     22                 var btn01 = document.getElementById("btn01");
     23                 btn01.onclick = function(){
     24                     //读取box1的宽度
     25                     //alert(box1.style.width);
     26                     
     27                     /*
     28                      * 获取元素的当前显示的样式
     29                      *     语法:元素.currentStyle.样式名
     30                      * 它可以用来读取当前元素正在显示的样式
     31                      *     如果当前元素没有设置该样式,则获取它的默认值
     32                      * 
     33                      * currentStyle只有IE浏览器支持,其他的浏览器都不支持
     34                      */
     35                     
     36                     //alert(box1.currentStyle.width);
     37                     //box1.currentStyle.width = "200px";
     38                     //alert(box1.currentStyle.backgroundColor);
     39                     
     40                     /*
     41                      * 在其他浏览器中可以使用
     42                      *         getComputedStyle()这个方法来获取元素当前的样式
     43                      *         这个方法是window的方法,可以直接使用
     44                      * 需要两个参数
     45                      *         第一个:要获取样式的元素
     46                      *         第二个:可以传递一个伪元素,一般都传null
     47                      * 
     48                      * 该方法会返回一个对象,对象中封装了当前元素对应的样式
     49                      *     可以通过对象.样式名来读取样式
     50                      *     如果获取的样式没有设置,则会获取到真实的值,而不是默认值
     51                      *     比如:没有设置width,它不会获取到auto,而是一个长度
     52                      * 
     53                      * 但是该方法不支持IE8及以下的浏览器
     54                      * 
     55                      * 通过currentStyle和getComputedStyle()读取到的样式都是只读的,
     56                      *     不能修改,如果要修改必须通过style属性
     57                      */
     58                     //var obj = getComputedStyle(box1,null);
     59                     
     60                     /*alert(getComputedStyle(box1,null).width);*/
     61                     //正常浏览器的方式,谷歌,火狐
     62                     //alert(getComputedStyle(box1,null).backgroundColor);
     63                     
     64                     //IE8的方式
     65                     //alert(box1.currentStyle.backgroundColor);
     66                     
     67                     //alert(getStyle(box1,"width"));
     68                     
     69                     var w = getStyle(box1,"width");
     70                     alert(w);
     71                     
     72                     
     73                 };
     74                 
     75             };
     76             
     77             /*
     78              * 定义一个函数,用来获取指定元素的当前的样式
     79              * 参数:
     80              *         obj 要获取样式的元素
     81              *         name 要获取的样式名
     82              */
     83             
     84             function getStyle(obj , name){
     85                 
     86                 if(window.getComputedStyle){
     87                     //正常浏览器的方式,具有getComputedStyle()方法
     88                     return getComputedStyle(obj , null)[name];
     89                 }else{
     90                     //IE8的方式,没有getComputedStyle()方法
     91                     return obj.currentStyle[name];
     92                 }
     93                 
     94                 //return window.getComputedStyle?getComputedStyle(obj , null)[name]:obj.currentStyle[name];
     95                 
     96             }
     97             
     98             
     99         </script>
    100     </head>
    101     <body>
    102         <button id="btn01">点我一下</button>
    103         <br /><br />
    104         <div id="box1" ></div>
    105     </body>
    106 </html>

    其他样式操作属性

      1 <!DOCTYPE html>
      2 <html>
      3     <head>
      4         <meta charset="UTF-8">
      5         <title></title>
      6         <style type="text/css">
      7             
      8             #box1{
      9                 width: 100px;
     10                 height: 100px;
     11                 background-color: red;
     12                 padding: 10px;
     13                 border: 10px solid yellow;
     14             }
     15             
     16             
     17             #box2{
     18                 padding: 100px;
     19                 background-color: #bfa;
     20             }
     21             
     22             #box4{
     23                 width: 200px;
     24                 height: 300px;
     25                 background-color: #bfa;
     26                 overflow: auto;
     27             }
     28             
     29             #box5{
     30                 width: 100px;
     31                 height: 600px;
     32                 background-color: yellow;
     33             }
     34             
     35         </style>
     36         <script type="text/javascript">
     37             
     38             window.onload = function(){
     39                 var box1 = document.getElementById("box1");
     40                 var btn01 = document.getElementById("btn01");
     41                 var box4 = document.getElementById("box4");
     42                 
     43                 btn01.onclick = function(){
     44                     /*
     45                      * clientWidth
     46                      * clientHeight
     47                      *     - 这两个属性可以获取元素的可见宽度和高度
     48                      *     - 这些属性都是不带px的,返回都是一个数字,可以直接进行计算
     49                      *     - 会获取元素宽度和高度,包括内容区和内边距
     50                      *  - 这些属性都是只读的,不能修改
     51                      */
     52                     //alert(box1.clientWidth);
     53                     //alert(box1.clientHeight);
     54                     //box1.clientHeight = 300;
     55                     
     56                     /*
     57                      * offsetWidth
     58                      * offsetHeight
     59                      *     - 获取元素的整个的宽度和高度,包括内容区、内边距和边框
     60                      */
     61                     //alert(box1.offsetWidth);
     62                     
     63                     /*
     64                      * offsetParent
     65                      *     - 可以用来获取当前元素的定位父元素
     66                      *  - 会获取到离当前元素最近的开启了定位的祖先元素
     67                      *         如果所有的祖先元素都没有开启定位,则返回body
     68                      */
     69                     var op = box1.offsetParent;
     70                     
     71                     //alert(op.id);
     72                     
     73                     /*
     74                      * offsetLeft
     75                      *     - 当前元素相对于其定位父元素的水平偏移量
     76                      * offsetTop
     77                      *     - 当前元素相对于其定位父元素的垂直偏移量
     78                      */
     79                     
     80                     //alert(box1.offsetLeft);
     81                     
     82                     /*
     83                      * scrollWidth
     84                      * scrollHeight
     85                      *     - 可以获取元素整个滚动区域的宽度和高度
     86                      */
     87                     //alert(box4.clientHeight);
     88                     //alert(box4.scrollWidth);
     89                     
     90                     /*
     91                      * scrollLeft
     92                      *     - 可以获取水平滚动条滚动的距离
     93                      * scrollTop
     94                      *     - 可以获取垂直滚动条滚动的距离
     95                      */
     96                     //alert(box4.scrollLeft);
     97                     //alert(box4.scrollTop);
     98                     
     99                     //alert(box4.clientHeight); // 283
    100                     
    101                     //当满足scrollHeight - scrollTop == clientHeight
    102                     //说明垂直滚动条滚动到底了
    103                     
    104                     //当满足scrollWidth - scrollLeft == clientWidth
    105                     //说明水平滚动条滚动到底
    106                     //alert(box4.scrollHeight - box4.scrollTop); // 600
    107                     
    108                     
    109                     
    110                 };
    111                 
    112             };
    113             
    114             
    115         </script>
    116     </head>
    117     <body id="body">
    118         <button id="btn01">点我一下</button>
    119         <br /><br />
    120         
    121          <div id="box4">
    122              <div id="box5"></div>
    123          </div>
    124         
    125         
    126         
    127         <br /><br />
    128         
    129         <div id="box3">
    130             <div id="box2" style="position: relative;">
    131                 <div id="box1"></div>
    132             </div>
    133         </div>
    134         
    135         
    136     </body>
    137 </html>

    协议说明滚动到底

      1 <!DOCTYPE html>
      2 <html>
      3     <head>
      4         <meta charset="UTF-8">
      5         <title></title>
      6         <style type="text/css">
      7             
      8             #info{
      9                 width: 300px;
     10                 height: 500px;
     11                 background-color: #bfa;
     12                 overflow: auto;
     13             }
     14             
     15         </style>
     16         <script type="text/javascript">
     17             window.onload = function(){
     18                 
     19                 /*
     20                  * 当垂直滚动条滚动到底时使表单项可用
     21                  * onscroll
     22                  *     - 该事件会在元素的滚动条滚动时触发
     23                  */
     24                 
     25                 //获取id为info的p元素
     26                 var info = document.getElementById("info");
     27                 //获取两个表单项
     28                 var inputs = document.getElementsByTagName("input");
     29                 //为info绑定一个滚动条滚动的事件
     30                 info.onscroll = function(){
     31                     
     32                     //检查垂直滚动条是否滚动到底
     33                     if(info.scrollHeight - info.scrollTop === info.clientHeight){
     34                         //滚动条滚动到底,使表单项可用
     35                         /*
     36                          * disabled属性可以设置一个元素是否禁用,
     37                          *     如果设置为true,则元素禁用
     38                          *     如果设置为false,则元素可用
     39                          */
     40                         inputs[0].disabled = false;
     41                         // inputs[0].removeAttribute("disabled")
     42                         inputs[1].disabled = false;
     43                     }
     44                     
     45                 };
     46                 
     47             };
     48             
     49             
     50         </script>
     51     </head>
     52     <body>
     53         <h3>欢迎亲爱的用户注册</h3>
     54         <p id="info">
     55             亲爱的用户,请仔细阅读以下协议,如果你不仔细阅读你就别注册
     56             亲爱的用户,请仔细阅读以下协议,如果你不仔细阅读你就别注册
     57             亲爱的用户,请仔细阅读以下协议,如果你不仔细阅读你就别注册
     58             亲爱的用户,请仔细阅读以下协议,如果你不仔细阅读你就别注册
     59             亲爱的用户,请仔细阅读以下协议,如果你不仔细阅读你就别注册
     60             亲爱的用户,请仔细阅读以下协议,如果你不仔细阅读你就别注册
     61             亲爱的用户,请仔细阅读以下协议,如果你不仔细阅读你就别注册
     62             亲爱的用户,请仔细阅读以下协议,如果你不仔细阅读你就别注册
     63             亲爱的用户,请仔细阅读以下协议,如果你不仔细阅读你就别注册
     64             亲爱的用户,请仔细阅读以下协议,如果你不仔细阅读你就别注册
     65             亲爱的用户,请仔细阅读以下协议,如果你不仔细阅读你就别注册
     66             亲爱的用户,请仔细阅读以下协议,如果你不仔细阅读你就别注册
     67             亲爱的用户,请仔细阅读以下协议,如果你不仔细阅读你就别注册
     68             亲爱的用户,请仔细阅读以下协议,如果你不仔细阅读你就别注册
     69             亲爱的用户,请仔细阅读以下协议,如果你不仔细阅读你就别注册
     70             亲爱的用户,请仔细阅读以下协议,如果你不仔细阅读你就别注册
     71             亲爱的用户,请仔细阅读以下协议,如果你不仔细阅读你就别注册
     72             亲爱的用户,请仔细阅读以下协议,如果你不仔细阅读你就别注册
     73             亲爱的用户,请仔细阅读以下协议,如果你不仔细阅读你就别注册
     74             亲爱的用户,请仔细阅读以下协议,如果你不仔细阅读你就别注册
     75             亲爱的用户,请仔细阅读以下协议,如果你不仔细阅读你就别注册
     76             亲爱的用户,请仔细阅读以下协议,如果你不仔细阅读你就别注册
     77             亲爱的用户,请仔细阅读以下协议,如果你不仔细阅读你就别注册
     78             亲爱的用户,请仔细阅读以下协议,如果你不仔细阅读你就别注册
     79             亲爱的用户,请仔细阅读以下协议,如果你不仔细阅读你就别注册
     80             亲爱的用户,请仔细阅读以下协议,如果你不仔细阅读你就别注册
     81             亲爱的用户,请仔细阅读以下协议,如果你不仔细阅读你就别注册
     82             亲爱的用户,请仔细阅读以下协议,如果你不仔细阅读你就别注册
     83             亲爱的用户,请仔细阅读以下协议,如果你不仔细阅读你就别注册
     84             亲爱的用户,请仔细阅读以下协议,如果你不仔细阅读你就别注册
     85             亲爱的用户,请仔细阅读以下协议,如果你不仔细阅读你就别注册
     86             亲爱的用户,请仔细阅读以下协议,如果你不仔细阅读你就别注册
     87             亲爱的用户,请仔细阅读以下协议,如果你不仔细阅读你就别注册
     88             亲爱的用户,请仔细阅读以下协议,如果你不仔细阅读你就别注册
     89             亲爱的用户,请仔细阅读以下协议,如果你不仔细阅读你就别注册
     90             亲爱的用户,请仔细阅读以下协议,如果你不仔细阅读你就别注册
     91             亲爱的用户,请仔细阅读以下协议,如果你不仔细阅读你就别注册
     92             亲爱的用户,请仔细阅读以下协议,如果你不仔细阅读你就别注册
     93             亲爱的用户,请仔细阅读以下协议,如果你不仔细阅读你就别注册
     94             亲爱的用户,请仔细阅读以下协议,如果你不仔细阅读你就别注册
     95             亲爱的用户,请仔细阅读以下协议,如果你不仔细阅读你就别注册
     96             亲爱的用户,请仔细阅读以下协议,如果你不仔细阅读你就别注册
     97             亲爱的用户,请仔细阅读以下协议,如果你不仔细阅读你就别注册
     98             亲爱的用户,请仔细阅读以下协议,如果你不仔细阅读你就别注册
     99             亲爱的用户,请仔细阅读以下协议,如果你不仔细阅读你就别注册
    100             亲爱的用户,请仔细阅读以下协议,如果你不仔细阅读你就别注册
    101             亲爱的用户,请仔细阅读以下协议,如果你不仔细阅读你就别注册
    102             亲爱的用户,请仔细阅读以下协议,如果你不仔细阅读你就别注册
    103             亲爱的用户,请仔细阅读以下协议,如果你不仔细阅读你就别注册
    104             亲爱的用户,请仔细阅读以下协议,如果你不仔细阅读你就别注册
    105             亲爱的用户,请仔细阅读以下协议,如果你不仔细阅读你就别注册
    106             亲爱的用户,请仔细阅读以下协议,如果你不仔细阅读你就别注册
    107             亲爱的用户,请仔细阅读以下协议,如果你不仔细阅读你就别注册
    108             亲爱的用户,请仔细阅读以下协议,如果你不仔细阅读你就别注册
    109             亲爱的用户,请仔细阅读以下协议,如果你不仔细阅读你就别注册
    110             亲爱的用户,请仔细阅读以下协议,如果你不仔细阅读你就别注册
    111             亲爱的用户,请仔细阅读以下协议,如果你不仔细阅读你就别注册
    112             亲爱的用户,请仔细阅读以下协议,如果你不仔细阅读你就别注册
    113             亲爱的用户,请仔细阅读以下协议,如果你不仔细阅读你就别注册
    114             亲爱的用户,请仔细阅读以下协议,如果你不仔细阅读你就别注册
    115             亲爱的用户,请仔细阅读以下协议,如果你不仔细阅读你就别注册
    116             亲爱的用户,请仔细阅读以下协议,如果你不仔细阅读你就别注册
    117             亲爱的用户,请仔细阅读以下协议,如果你不仔细阅读你就别注册
    118             亲爱的用户,请仔细阅读以下协议,如果你不仔细阅读你就别注册
    119             亲爱的用户,请仔细阅读以下协议,如果你不仔细阅读你就别注册
    120             亲爱的用户,请仔细阅读以下协议,如果你不仔细阅读你就别注册
    121             亲爱的用户,请仔细阅读以下协议,如果你不仔细阅读你就别注册
    122             亲爱的用户,请仔细阅读以下协议,如果你不仔细阅读你就别注册
    123             亲爱的用户,请仔细阅读以下协议,如果你不仔细阅读你就别注册
    124             亲爱的用户,请仔细阅读以下协议,如果你不仔细阅读你就别注册
    125             亲爱的用户,请仔细阅读以下协议,如果你不仔细阅读你就别注册
    126             亲爱的用户,请仔细阅读以下协议,如果你不仔细阅读你就别注册
    127             亲爱的用户,请仔细阅读以下协议,如果你不仔细阅读你就别注册
    128             亲爱的用户,请仔细阅读以下协议,如果你不仔细阅读你就别注册
    129             亲爱的用户,请仔细阅读以下协议,如果你不仔细阅读你就别注册
    130             亲爱的用户,请仔细阅读以下协议,如果你不仔细阅读你就别注册
    131             亲爱的用户,请仔细阅读以下协议,如果你不仔细阅读你就别注册
    132             亲爱的用户,请仔细阅读以下协议,如果你不仔细阅读你就别注册
    133             亲爱的用户,请仔细阅读以下协议,如果你不仔细阅读你就别注册
    134             亲爱的用户,请仔细阅读以下协议,如果你不仔细阅读你就别注册
    135             亲爱的用户,请仔细阅读以下协议,如果你不仔细阅读你就别注册
    136             亲爱的用户,请仔细阅读以下协议,如果你不仔细阅读你就别注册
    137             亲爱的用户,请仔细阅读以下协议,如果你不仔细阅读你就别注册
    138             亲爱的用户,请仔细阅读以下协议,如果你不仔细阅读你就别注册
    139             亲爱的用户,请仔细阅读以下协议,如果你不仔细阅读你就别注册
    140             亲爱的用户,请仔细阅读以下协议,如果你不仔细阅读你就别注册
    141             亲爱的用户,请仔细阅读以下协议,如果你不仔细阅读你就别注册
    142             亲爱的用户,请仔细阅读以下协议,如果你不仔细阅读你就别注册
    143             亲爱的用户,请仔细阅读以下协议,如果你不仔细阅读你就别注册
    144             亲爱的用户,请仔细阅读以下协议,如果你不仔细阅读你就别注册
    145             亲爱的用户,请仔细阅读以下协议,如果你不仔细阅读你就别注册
    146             亲爱的用户,请仔细阅读以下协议,如果你不仔细阅读你就别注册
    147             亲爱的用户,请仔细阅读以下协议,如果你不仔细阅读你就别注册
    148             亲爱的用户,请仔细阅读以下协议,如果你不仔细阅读你就别注册
    149             亲爱的用户,请仔细阅读以下协议,如果你不仔细阅读你就别注册
    150             亲爱的用户,请仔细阅读以下协议,如果你不仔细阅读你就别注册
    151             亲爱的用户,请仔细阅读以下协议,如果你不仔细阅读你就别注册
    152             亲爱的用户,请仔细阅读以下协议,如果你不仔细阅读你就别注册
    153             亲爱的用户,请仔细阅读以下协议,如果你不仔细阅读你就别注册
    154             亲爱的用户,请仔细阅读以下协议,如果你不仔细阅读你就别注册
    155             亲爱的用户,请仔细阅读以下协议,如果你不仔细阅读你就别注册
    156             亲爱的用户,请仔细阅读以下协议,如果你不仔细阅读你就别注册
    157             亲爱的用户,请仔细阅读以下协议,如果你不仔细阅读你就别注册
    158             亲爱的用户,请仔细阅读以下协议,如果你不仔细阅读你就别注册
    159             亲爱的用户,请仔细阅读以下协议,如果你不仔细阅读你就别注册
    160             亲爱的用户,请仔细阅读以下协议,如果你不仔细阅读你就别注册
    161             亲爱的用户,请仔细阅读以下协议,如果你不仔细阅读你就别注册
    162             亲爱的用户,请仔细阅读以下协议,如果你不仔细阅读你就别注册
    163             亲爱的用户,请仔细阅读以下协议,如果你不仔细阅读你就别注册
    164             亲爱的用户,请仔细阅读以下协议,如果你不仔细阅读你就别注册
    165         </p>
    166         <!-- 如果为表单项添加disabled="disabled" 则表单项将变成不可用的状态 -->
    167         <input type="checkbox" disabled="disabled" />我已仔细阅读协议,一定遵守
    168         <input type="submit" value="注册" disabled="disabled" />
    169     </body>
    170 </html>
    View Code

    事件对象event

     1 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
     2 <html>
     3 <head>
     4 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
     5 <title>Insert title here</title>
     6 <style type="text/css">
     7 
     8     #areaDiv {
     9         border: 1px solid black;
    10         width: 300px;
    11         height: 50px;
    12         margin-bottom: 10px;
    13     }
    14     
    15     #showMsg {
    16         border: 1px solid black;
    17         width: 300px;
    18         height: 20px;
    19     }
    20 
    21 </style>
    22 <script type="text/javascript">
    23 
    24     window.onload = function(){
    25         /*
    26          * 当鼠标在areaDiv中移动时,在showMsg中来显示鼠标的坐标
    27          */
    28         //获取两个div
    29         var areaDiv = document.getElementById("areaDiv");
    30         var showMsg = document.getElementById("showMsg");
    31         
    32         /*
    33          * onmousemove
    34          *     - 该事件将会在鼠标在元素中移动时被触发
    35          * 
    36          * 事件对象
    37          *     - 当事件的响应函数被触发时,浏览器每次都会将一个事件对象作为实参传递进响应函数,
    38          *         在事件对象中封装了当前事件相关的一切信息,比如:鼠标的坐标  键盘哪个按键被按下  鼠标滚轮滚动的方向。。。
    39          */
    40         areaDiv.onmousemove = function(event){
    41             // alert(event)  //[object MouseEvent],是个对象
    42             /*
    43              * 在IE8中,响应函数被触发时,浏览器不会传递事件对象,
    44              *     在IE8及以下的浏览器中,是将事件对象作为window对象的属性保存的
    45              */
    46             /*if(!event){
    47                 event = window.event;
    48             }*/
    49             
    50             //解决事件对象的兼容性问题,兼容ie8
    51             event = event || window.event;
    52             
    53             /*
    54              * clientX可以获取鼠标指针的水平坐标
    55              * cilentY可以获取鼠标指针的垂直坐标
    56              */
    57             var x = event.clientX;
    58             var y = event.clientY;
    59             
    60             //alert("x = "+x + " , y = "+y);
    61             
    62             //在showMsg中显示鼠标的坐标
    63             showMsg.innerHTML = "x = "+x + " , y = "+y;
    64             
    65         };
    66         
    67     };
    68 
    69 </script>
    70 </head>
    71 <body>
    72 
    73     <div id="areaDiv"></div>
    74     <div id="showMsg"></div>
    75 
    76 </body>
    77 </html>
    使div可以跟随鼠标移动
     1 <!DOCTYPE html>
     2 <html>
     3     <head>
     4         <meta charset="UTF-8">
     5         <title></title>
     6         <style type="text/css">
     7             #box1{
     8                 width: 100px;
     9                 height: 100px;
    10                 background-color: red;
    11                 /*
    12                  * 开启box1的绝对定位
    13                  */
    14                 position: absolute;
    15             }
    16             
    17         </style>
    18         
    19         <script type="text/javascript">
    20             window.onload = function(){
    21                 
    22                 /*
    23                  * 使div可以跟随鼠标移动
    24                  */
    25                 
    26                 //获取box1
    27                 var box1 = document.getElementById("box1");
    28                 //绑定鼠标移动事件
    29                 document.onmousemove = function(event){
    30                     
    31                     //解决兼容问题,ie8
    32                     event = event || window.event;
    33                     
    34                     //获取滚动条滚动的距离
    35                     /*
    36                      * chrome认为浏览器的滚动条是body的,可以通过body.scrollTop来获取
    37                      * 火狐等浏览器认为浏览器的滚动条是html的,
    38                      */
    39                     var st = document.body.scrollTop || document.documentElement.scrollTop;
    40                     var sl = document.body.scrollLeft || document.documentElement.scrollLeft;
    41                     //var st = document.documentElement.scrollTop;
    42                     
    43                     
    44                     //获取到鼠标的坐标
    45                     /*
    46                      * clientX和clientY
    47                      *     用于获取鼠标在当前的可见窗口的坐标
    48                      * div的偏移量,是相对于整个页面的, 鼠标和div的左边不一致,相差的距离是滚动条的距离
    49                      * 
    50                      * pageX和pageY可以获取鼠标相对于当前页面的坐标
    51                      *     但是这个两个属性在IE8中不支持,所以如果需要兼容IE8,则不要使用
    52                      */
    53                     var left = event.clientX;
    54                     var top = event.clientY;
    55                     
    56                     //设置div的偏移量
    57                     box1.style.left = left + sl + "px";
    58                     box1.style.top = top + st + "px";
    59                     
    60                 };
    61                 
    62                 
    63             };
    64             
    65             
    66         </script>
    67     </head>
    68     <body style="height: 1000px; 2000px;">
    69         <div id="box1"></div>
    70     </body>
    71 </html>

    冒泡1

     1 <!DOCTYPE html>
     2 <html>
     3     <head>
     4         <meta charset="UTF-8">
     5         <title></title>
     6         <style type="text/css">
     7             #box1{
     8                 width: 200px;
     9                 height: 200px;
    10                 background-color: yellowgreen;
    11             }
    12             
    13             #s1{
    14                 background-color: yellow;
    15             }
    16             
    17             
    18         </style>
    19         <script type="text/javascript">
    20             
    21             window.onload = function(){
    22                 
    23                 /*
    24                  * 事件的冒泡(Bubble)
    25                  *     - 所谓的冒泡指的就是事件的向上传导,当后代元素上的事件被触发时,其祖先元素的相同事件也会被触发
    26                  *     - 在开发中大部分情况冒泡都是有用的,如果不希望发生事件冒泡可以通过事件对象来取消冒泡
    27                  * 
    28                  */
    29                 
    30                 //为s1绑定一个单击响应函数
    31                 var s1 = document.getElementById("s1");
    32                 s1.onclick = function(event){
    33                     event = event || window.event;
    34                     alert("我是span的单击响应函数");
    35                     
    36                     //取消冒泡
    37                     //可以将事件对象的cancelBubble设置为true,即可取消冒泡
    38                     event.cancelBubble = true;
    39                 };
    40                 
    41                 //为box1绑定一个单击响应函数
    42                 var box1 = document.getElementById("box1");
    43                 box1.onclick = function(event){
    44                     event = event || window.event;
    45                     alert("我是div的单击响应函数");
    46                     
    47                     event.cancelBubble = true;
    48                 };
    49                 
    50                 //为body绑定一个单击响应函数
    51                 // var body= document.getElementsByTagName("body")[0]
    52                 document.body.onclick = function(){
    53                     alert("我是body的单击响应函数");
    54                 };
    55                 
    56                 
    57             };
    58             
    59             
    60         </script>
    61     </head>
    62     <body>
    63         
    64         <div id="box1">
    65             我是box1
    66             <span id="s1">我是span</span>
    67         </div>
    68         
    69     </body>
    70 </html>

    冒泡练习

     1 <!DOCTYPE html>
     2 <html>
     3     <head>
     4         <meta charset="UTF-8">
     5         <title></title>
     6         <style type="text/css">
     7             #box1{
     8                 width: 100px;
     9                 height: 100px;
    10                 background-color: red;
    11                 /*
    12                  * 开启box1的绝对定位
    13                  */
    14                 position: absolute;
    15             }
    16             
    17         </style>
    18         
    19         <script type="text/javascript">
    20             window.onload = function(){
    21                 
    22                 /*
    23                  * 使div可以跟随鼠标移动
    24                  */
    25                 
    26                 //获取box1
    27                 var box1 = document.getElementById("box1");
    28                 //绑定鼠标移动事件,页面绑定移入事件
    29                 document.onmousemove = function(event){
    30                     
    31                     //解决兼容问题
    32                     event = event || window.event;
    33                     
    34                     //获取滚动条滚动的距离
    35                     /*
    36                      * chrome认为浏览器的滚动条是body的,可以通过body.scrollTop来获取
    37                      * 火狐等浏览器认为浏览器的滚动条是html的,
    38                      */
    39                     var st = document.body.scrollTop || document.documentElement.scrollTop;
    40                     var sl = document.body.scrollLeft || document.documentElement.scrollLeft;
    41                     //var st = document.documentElement.scrollTop;
    42                     
    43                     
    44                     //获取到鼠标的坐标
    45                     /*
    46                      * clientX和clientY
    47                      *     用于获取鼠标在当前的可见窗口的坐标
    48                      * div的偏移量,是相对于整个页面的
    49                      * 
    50                      * pageX和pageY可以获取鼠标相对于当前页面的坐标
    51                      *     但是这个两个属性在IE8中不支持,所以如果需要兼容IE8,则不要使用
    52                      */
    53                     var left = event.clientX;
    54                     var top = event.clientY;
    55                     
    56                     //设置div的偏移量
    57                     box1.style.left = left + sl + "px";
    58                     box1.style.top = top + st + "px";
    59                     
    60                 };
    61                 
    62                 var box2 = document.getElementById("box2");
    63                 box2.onmousemove = function(event){
    64                     event = event || window.event;
    65                     //取消冒泡
    66                     event.cancelBubble = true;
    67                 };
    68                 
    69                 
    70                 
    71             };
    72             
    73             
    74         </script>
    75     </head>
    76     <body style="height: 1000px; 2000px;">
    77         <div id="box2" style=" 500px; height: 500px; background-color: #bfa;"></div>
    78         <div id="box1"></div>
    79     </body>
    80 </html>
  • 相关阅读:
    C#正则表达式
    HDU 1009 FatMouse' Trade
    HDU 1022 Train Problem I
    HDU 3665 Seaside
    (转)qsort完整版用法
    HDU 1061 Rightmost Digit (矩阵快速幂)
    HDU 2817 A sequence of numbers
    HDU 1943 Ball bearings
    HDU 1058 Humble Numbers
    HDU 4278 Faulty Odometer
  • 原文地址:https://www.cnblogs.com/fsg6/p/12834361.html
Copyright © 2011-2022 走看看