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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 软件原型设计工具

    软件原型设计工具

    2022年1月23日
  • tabnine 激活码_通用破解码

    tabnine 激活码_通用破解码,https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月17日
  • jvm内存模型、jvm内存结构、Java内存结构、Java内存模型(JMM)、Java对象模型的区别(吐血研究整理)

    jvm内存模型、jvm内存结构、Java内存结构、Java内存模型(JMM)、Java对象模型的区别(吐血研究整理)jvm内存模型:JVM内存模型则是指JVM的内存分区。jvm内存结构:等同于Java内存结构,汉语虽然博大精深,但是也经常会因为命名很雷同让人懵逼或者混淆不清。Java内存结构:Java内存模型(JMM):java内存模型又称为JMM。为了解决Java多线程对共享数据的读写一致性问题,通过Happens-Before语义(延伸出了as-if-serial)定义了Java程序对数据的访问规则,修正之前由于读写冲突导致的Cache数据不一致的问题。具体到HotspotVM的实现..

    2022年5月10日
  • 进程和线程的深入理解

    进程和线程的深入理解进程和线程的深入理解,从抽象类比到与原理,阐述了两者的区别

    2022年7月25日
  • 2018阿里笔试题一道

    2018阿里笔试题一道八卦阵相传是由诸葛亮创设的一种战斗队形和兵力部署,由八种阵势组成。为了方便,采用矩阵来描述一个八卦阵,它由八个单阵组成,每个单阵由多个兵力区域组成形成一种阵势,如下图所示,其中数字为一个兵力区域的士兵个数。假设单阵与单阵之间兵力区域不会相邻,且单阵中每个兵力区域至少存在一个相邻兵力区域(注:相邻是指在其左上,正上,右上,右方,右下,正下,左下,左方与其相邻),请用最快的速度计算出八个单阵中的兵力(…

    2022年5月23日
  • 虚拟机与宿主机网络配置——可互通可上网「建议收藏」

    虚拟机与宿主机网络配置——可互通可上网「建议收藏」     为了学习和使用Linux,多数人选择了使用虚拟机的方式来安装Linux系统。这样我们就可以在windows系统中安装Linux系统了,其中windows机器系统本身我们称作宿主机,安装的虚拟机系统我们简称虚拟机。     由于虚拟机提供的几种网络方式,要么是虚拟机可以ping通宿主机反之不行,要么是虚拟机之间可以互通但宿主机不能访问虚拟机,所以在实际应用中多数被两者间的网络互通和是否…

    2022年8月20日

发表回复

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

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