zoukankan      html  css  js  c++  java
  • 仿京东左侧菜单 hover效果-简易demo

    简单描述: 用到的知识点 css 中的绝对定位 以及 Js 中的事件冒泡(或事件委托)

    1   .cont{display:inline-block;width:200px;height:200px;border:1px solid red;position:absolute;left:150px;top:2px;display:none;}
     1 <div style="border:1px solid green;margin:30px auto;150px;" id="menu">
     2             
     3             <div class="item" id="div1" style="position:relative;">
     4                 <span style="display:inline-block;background: #abcdef;150px;height:50px;cursor:pointer;">123</span>
     5                 <span id="span1"  class="cont">
     6                      hello1111111
     7                      hello1111111
     8                      hello1111111
     9                      hello1111111
    10                      hello1111111
    11                 </span>
    12             </div>
    13             
    14             <div id="div2" class="item" style="position:relative;">
    15                 <span style="display:inline-block;background: red;150px;height:50px;cursor:pointer;">123</span>
    16                 <span class="cont">hello222222</span>
    17             </div>
    18                 
    19             <div id="div3" class="item" style="position:relative;">
    20                 <span style="display:inline-block;background: green;150px;height:50px;cursor:pointer;">123</span>
    21                 <span class="cont">hello333333</span>
    22             </div>
    23             
    24          </div>
     1  window.onload = function(){
     2              var oSpan1 = document.getElementById("span1");
     3              var oMenu = document.getElementById("menu");
     4              var oSMenu = oMenu.childNodes;
     5                   
     6              for(var n=oSMenu.length-1; n>=0; n--){
     7                   if(oSMenu[n].className == "item"){
     8                       oSMenu[n].onmouseover = function(evt){
     9                             var target = oTargetByClass._get_target_child(this.childNodes, "cont");
    10                             target.style.display = "block";
    11                       }
    12                       
    13                        oSMenu[n].onmouseout = function(evt){                    
    14                             var target = oTargetByClass._get_target_child(this.childNodes, "cont");
    15                             target.style.display = "none";
    16                      }         
    17                   }                 
    18              } 
    19                         
    20              var oTargetByClass = {
    21              
    22                  _get_target_child: function(childNodes, child_class){
    23                     for(var i = childNodes.length-1; i>=0; i--){
    24                         if(childNodes[i].className == child_class){
    25                              return childNodes[i];
    26                         }
    27                     } 
    28                  }
    29              }
    30          }
  • 相关阅读:
    Luncene介绍
    多线程&定时器Timer&同步&线程通信&ThreadLocal
    JVM垃圾收集器&对象的引用回收
    JVM介绍&自动内存管理机制
    JS原生Ajax&Jquery的Ajax技术&Json
    Jedis/JedisPool和Redis数据类型与特性
    NoSQL&Redis
    maven中的jar包未下载完全如何解决?
    如何在IntelliJ IDEA中配置Maven
    pip安装超时怎么办?
  • 原文地址:https://www.cnblogs.com/yiliweichinasoft/p/4074497.html
Copyright © 2011-2022 走看看