javascript下拉菜单代码(用jquery做下拉菜单)

一、js实现下拉菜单二、解题思路:三、代码:1.html<ulid=”divBox”><liclass=”myLi”onclick=”openS(this,0)”><spanclass=”iconfonticon-maobifront”></span><spanclass=”font”>Diseno

大家好,又见面了,我是你们的朋友全栈君。

一、js实现下拉菜单
在这里插入图片描述

二、代码:
1.html

<ul id="divBox">
        <li class="myLi" onclick="openS(this,0)">
                    <span class="iconfont icon-maobi front"></span>            
                    <span class="font">Diseno web</span>            
                    <span class="iconfont icon-jiantouxiangxia back"></span>            
                    <ul class="myUl">
                         <li>Photoshop</li>
                          <li>Html</li> 
                          <li>css</li>                
                          <li>Photoshop</li>            
                    </ul>        
         </li>        
        <li class="myLi" onclick="openS(this,1)">            
                  <span class="iconfont icon-maobi front"></span>            
                  <span class="font">Diseno web</span>            
                  <span class="iconfont icon-jiantouxiangxia back"></span>           
                  <ul class="myUl">                
                  <li>Javascript</li>               
                  <li>JQuery</li>              
                  <li>Framework</li>           
                  </ul>     
        </li>    
        <li class="myLi" onclick="openS(this,2)">        
                 <span class="iconfont icon-maobi front"></span>       
                 <span class="font">Diseno web</span>           
                  <span class="iconfont icon-jiantouxiangxia back"></span>   
                   <ul class="myUl">            
                         <li>Photoshop</li>             
                          <li>Html</li>        
                          <li>css</li>      
                          <li>Photoshop</li> 
                    </ul>    
     </li> 
       <li class="myLi" onclick="openS(this,3)">     
              <span class="iconfont icon-maobi front"></span>    
              <span class="font">Diseno web</span>           
              <span class="iconfont icon-jiantouxiangxia back"></span>        
              <ul class="myUl">               
                     <li>Photoshop</li>             
                     <li>Html</li>              
                     <li>css</li>               
                     <li>Photoshop</li>        
               </ul>       
       </li>
    </ul>

2.css

* { 
       margin: 0;    padding: 0;}
body { 
       background-color: slategray;}
#divBox { 
       width: 300px;    height: 800px;    margin: 0 auto;}
li { 
       width: 300px;    /* height: 50px; */    list-style: none;    line-height: 50px;    outline: hotpink 1px solid;    background-color: snow;    cursor: pointer;}
.front { 
       color: gray;    font-size: 20px;}
.back { 
       color: grey;    font-size: 20px;    padding-left: 150px;}
.font { 
   }
.myUl { 
       width: 300px;    /* height: 200px; */    display: none;    transition: all 0.5s linear;}
.myUl>li { 
       background-color: khaki;}
.myUl>li:hover { 
       background-color: lawngreen;}

/* @keyframes transf { 0% { transform: rotate(0deg); } 50% { transform: rotate(180deg); } 100% { transform: rotate(20deg); }} */

3.js

let myUl = document.getElementsByClassName('myUl');
let myLi = document.getElementsByClassName('myLi');
let back = document.getElementsByClassName('back')
console.log(myUl)console.log(myLi)
function openS(obj, num) { 
           
if (myUl[num].style.display === 'none' || myUl[num].style.display === '') { 
           
myUl[num].style.display = 'block';        
// back[num].style.animation = 'transf 0.5s linear forwards' 
console.log(back[num].style)    
} else { 
           myUl[num].style.display = 'none';       
 // back[num].style.animation = '' }

    //判断是否为当前点击的,不是则不展开 
    for (let i = 0; i < myLi.length; i++) { 
           
    if (myLi[i] !== obj) { 
              
     myUl[i].style.display = 'none';       
      } 
         }
         }
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/126047.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • POJ2392 SpaceElevator [DP]

    POJ2392 SpaceElevator [DP]

    2022年1月24日
    45
  • NoSQL

    NoSQL

    2022年3月2日
    24
  • Linux 内核编译(三天吐血经历!)[通俗易懂]

    Linux 内核编译(三天吐血经历!)[通俗易懂]写在前面的话:本人大二,东南大学一个软工狗,正在修一门名为《操作系统原理》的坑爹课!前几天做一个实验:编译Linux内核并向其增加一个系统调用。这个实验实在是太让人无语了,各种坑!昨天这个时候,我还在苦苦煎熬中。在今天凌晨四点才做好。为了让其他人少走一些弯路,鄙人就把自己的经验以及教训写下来。里面会有一些不足,希望大家多多指教~废话不多说,那就开始吧:一、实验前的准备:Vm

    2022年7月23日
    15
  • java与数据库连接的步骤_java与数据库的连接怎么实现

    java与数据库连接的步骤_java与数据库的连接怎么实现1.加载驱动Class.forname(数据库驱动名);2.建立数据库连接使用DriverManager类的getConnection()静态方法来获取数据库连接对象,其语法格式如下所示:Connectionconn=DriverManager.getConnection(Stringurl,Stringuser,Stringpass);其中url–数据库连接字符串….

    2022年9月16日
    3
  • 自动化运维平台分析「建议收藏」

    自动化运维平台分析「建议收藏」在项目上线完成后,业务系统或平台自然就转入了运维管控期,而在运维期两个重点,一个就是运维流程的标准化和规范化,另外一个就是运维工作本身的自动化。对于运维自动化将成为后续我重点关注的一个内容,因为本身我们DevOps实践也需要这方面的积累。对于运维自动化,传统我们可能是编写自动化的运维脚本,然后是手工或定时的执行运维脚本完成整个自动化执行过程和运维例行检查。而今天要谈自动化运维平台,里面一个重点就是基于我们面对的运维场景,如何将运维操作或任务进行细粒度分解,然后再对运维操作进行组合和编排。为…

    2022年5月17日
    35
  • 高德地图实现多点标注功能

    高德地图实现多点标注功能

    2022年5月11日
    71

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号