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


相关推荐

  • 第三章 —- 了解各种 Linux 文本编辑器

    第三章 —- 了解各种 Linux 文本编辑器了解各种Linux文本编辑器了解Linux中不同类型的文本编辑器解释Vi文本编辑器常用命令了解Linux中不同类型的文本编辑器解释Vi文本编辑器viniit.txt:如果niit.txt文件存在,就进入命令模式:如果不存在,就先创建,再进入命令模式命令模式:按键ESC,由输入模式进入命令模式特点:在文件的最下方,什么都不显示或者显示文件基本信息输入模式:按键aAiLoOrR,由命令模式进入输入模式特点:在文件的最下方出现–INSERT–

    2022年7月26日
    6
  • petalinux版本_中央一号文件2019解读

    petalinux版本_中央一号文件2019解读这里主要根据UG1144文档,这两天成功安装使用了PetaLinux的最新版本2019.1一,在虚拟机里安装Ubuntu16.041,选Ubuntu操作系统的版本是16.04,我最初尝试过18版本的Ubuntu但是不知道为什么速度特别慢,所以还是回头使用16.04版本。2,使用的vmware虚拟机版本是12.3,在虚拟机里安装Ubuntu16.04,我这里设置了逻辑盘大小是…

    2025年10月27日
    4
  • AngularJS_简介、特性及基本使用_及其工作原理[通俗易懂]

    AngularJS_简介、特性及基本使用_及其工作原理[通俗易懂]转自:angularJS的工作原理转自:通过<script>标签引入到HTML中,那么此时Angular就做为一个普通的DOM节点等待浏览器解析当浏览器解析到这个节点时,

    2022年7月3日
    34
  • ES6 数组方法归纳整理

    ES6 数组方法归纳整理ES6操作数组方法1.判断是否为数组 letarr=[1,2,3] console.log(Array.isArray(arr))//true console.log(Array.isArray([]))//true2.创建数组newArray()创建数组如果使用Array构造函数传入一个数值型的值,那么数组的长度length属性会被设置为该值; letitems=newArray(2); console.log(items.length);//2

    2022年6月9日
    32
  • 8000401a错误解决方式(Excel)

    8000401a错误解决方式(Excel)前一阵子做开发须要用到Excel和Word编程,本人用的是Vista系统,开发环境是VS2005和Office2007,測试无不论什么问题,但是到部署的时候出现了一些令人非常头痛的问题,老是会出现比如:检索COM类工厂中CLSID为{000209FF-0000-0000-C000-000000000046}的组件时失败,原因是出现下面错误:8000401a。的错误,在网上查…

    2022年7月25日
    8
  • office 365 e5开发者_百度网盘5t不够用怎么扩容

    office 365 e5开发者_百度网盘5t不够用怎么扩容Microsoft365E5开发者扩容到5T1.进入网址https://admin.microsoft.com/Adminportal/Home?source=applauncher#/users找到活跃用户2.找到你的账户进入管理产品许可证3.点击OneDrive,再点击编辑4.点击修改为此用户最大空间…

    2025年10月10日
    3

发表回复

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

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