Dom_事件流(二)

2019-02-09  本文已影响0人  mao77_

Dom_事件流(二)

  1. 事件流的感念

事件

  1. HTML事件处理程序

HTML事件处理程序

DOM0事件处理程序 //兼容性最好

DOM2事件处理程序

  1. ui事件

onload

    // 页面加载完成之后触发
    window.onload = function (){
        console.log("页面加载完成")
        var div = document.querySelector("div");
        console.log(div);   //可以访问到div
    }
    </script>
    </head>
    <body>
    <div></div>
    <script>
    var div = document.querySelector("div");
    console.log(div);

    <div></div>
    <img src="_" alt="">
    <script>
    var img = document.querySelector("img");
    img.onload = function (){
        console.log("图片加载完成");
    }
    console.log("abc")  //abc   图片加载完成
  1. resize事件

     <script>
     window.onresize = function (){
         //console.log("窗口的尺寸发生了变化");
         var w = window.innerWidth || document.documentElement.clientWidth;
         var h = window.innerHeight || document.documentElement.clientHeight;
         console.log(w, h);
     }
     </script>
    
  2. scroll事件

     window.onscroll = function (){
         console.log("你在滚动....");
         // console.log(window.scrollTop, window.scrollLeft); 拿不到值
         console.log(document.documentElement.scrollTop || document.body.scrollTop);
     }
    
     div {
         width: 200px;
         height: 300px;
         border: 1px solid #000;
         overflow: auto;
     }
     
     var div = document.querySelector("div");
     
     /*setTimeout(function move(){
         var start = div.scrollTop;
         div.scrollTop += 2;
         if (start == div.scrollTop) return;
         setTimeout(move, 20);
     }, 0)*/
     
     var id = setInterval(function (){
         var start = div.scrollTop;
         div.scrollTop += 2;
         console.log("aaaa")
         if (start == div.scrollTop){
             clearInterval(id); // 停止interval只能这样停
         }
     }, 20)
    
  3. 焦点事件

获取焦点 //onfocus

失去焦点 //onblur

  1. 鼠标事件

dblclick

mouseover和mouseout //这个是冒泡的

不冒泡的版本:mouseenter/mouseleave

mousemove //鼠标移动的时候的触发

  1. 事件对象
  1. id产品

     <style>
     *{
         margin: 0;
         padding: 0;
     }
     .product_nav{
         list-style: none;
         width: 200px;
         height: 200px;
         background-color: pink;
         margin: 100px;
         position: relative;
     }
     .product_nav li{
         width: 200px;
         height: 50px;
         background-color: gray;
     }
     .product_nav li h3{
         width: 200px;
         text-align: center;
         line-height: 50px;
     }
     .product_nav li div{
         position: absolute;
         left: 200px;
         top: 0;
         width: 400px;
         height: 600px;
         background-color: #c3c4c3;
         display: none;
     }
     </style>
     </head>
     <body>
     <ul class="product_nav">
         <li>
             <h3>家用电器</h3>
             <div>家用电器详情</div>
         </li>
         <li>
             <h3>数码产品</h3>
             <div>数码产品详情</div>
         </li>
         <li>
             <h3>厨房用品</h3>
             <div>厨房用品详情</div>
         </li>
         <li>
             <h3>男女服装</h3>
             <div>男女服装详情</div>
         </li>
     </ul>
     <script>
     var h3s = document.querySelectorAll(".product_nav li");
     for(var i = 0; i < h3s.length; i++){
         h3s[i].onmouseenter = function (){
             this.style.backgroundColor = "white";
             this.lastElementChild.style.display = "block";
         }
         h3s[i].onmouseleave = function (){
             this.style.backgroundColor = "gray";
             this.lastElementChild.style.display = "none";
         }
     }
    
上一篇 下一篇

猜你喜欢

热点阅读