首页 > 编程语言 >Javascript应用(下拉框) 笔记17

Javascript应用(下拉框) 笔记17

时间:2024-09-06 23:21:35浏览次数:11  
标签:body 17 概括 Javascript li color 部门 var 下拉框

一个基础Html框架:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <link rel="stylesheet" href="homework1.css">
    <script src="homework1.js" defer></script>
    <!-- defer 的使用只针对外引 -->
     <!-- Javascript 延迟加载:
      window.onload=function(){
        所需执行指令
      }
        (内嵌外引都能用)
     -->
</head>
<body>
    <div class="body">
        <ul class="c">
            <li class="a">
                <a href="#">首页</a>
            </li>
            <li class="a">
                <a href="#">机构简介</a>
                <ul class="a1">
                    <li><a href="#">部门概括</a></li>
                    <li><a href="#">部门概括</a></li>
                    <li><a href="#">部门概括</a></li>
                </ul>
            </li>
            <li class="a">
                <a href="#">招生工作</a>
                <ul class="a1">
                    <li><a href="#">部门概括</a></li>
                    <li><a href="#">部门概括</a></li>
                    <li><a href="#">部门概括</a></li>
                    <li><a href="#">部门概括</a></li>
                    <li><a href="#">部门概括</a></li>
                    <li><a href="#">部门概括</a></li>
                    <li><a href="#">部门概括</a></li>
                </ul>
            </li>
            <li class="a">
                <a href="#">培养工作</a>
                <ul class="a1">
                    <li><a href="#">部门概括</a></li>
                    <li><a href="#">部门概括</a></li>
                    <li><a href="#">部门概括</a></li>
                    <li><a href="#">部门概括</a></li>
                </ul>
            </li>
            <li class="a">
                <a href="#">学位管理</a>
                <ul class="a1">
                    <li><a href="#">部门概括</a></li>
                    <li><a href="#">部门概括</a></li>
                    <li><a href="#">部门概括</a></li>
                    <li><a href="#">部门概括</a></li>
                    <li><a href="#">部门概括</a></li>
                </ul>
            </li>
            <li class="a">
                <a href="#">学位点建设</a>
                <ul class="a1">
                    <li><a href="#">部门概括</a></li>
                    <li><a href="#">部门概括</a></li>
                </ul>
            </li>
            <li class="a">
                <a href="#">专业学位</a>
                <ul class="a1">
                    <li><a href="#">部门概括</a></li>
                    <li><a href="#">部门概括</a></li>
                    <li><a href="#">部门概括</a></li>
                    <li><a href="#">部门概括</a></li>
                    <li><a href="#">部门概括</a></li>
                </ul>
            </li>
            <li class="a">
                <a href="#">导师管理</a>
                <ul class="a1">
                    <li><a href="#">部门概括</a></li>
                    <li><a href="#">部门概括</a></li>
                    <li><a href="#">部门概括</a></li>
                    <li><a href="#">部门概括</a></li>
                </ul>
            </li>
            <li class="a">
                <a href="#">学生工作</a>
                <ul class="a1">
                    <li><a href="#">部门概括</a></li>
                    <li><a href="#">部门概括</a></li>
                    <li><a href="#">部门概括</a></li>
                    <li><a href="#">部门概括</a></li>
                    <li><a href="#">部门概括</a></li>
                    <li><a href="#">部门概括</a></li>
                    <li><a href="#">部门概括</a></li>
                </ul>
            </li>
            <li class="a">
                <a href="#">文件汇编</a>
                <ul class="a1">
                    <li><a href="#">部门概括</a></li>
                    <li><a href="#">部门概括</a></li>
                    <li><a href="#">部门概括</a></li>
                    <li><a href="#">部门概括</a></li>
                  
                </ul>
            </li>
            <li class="a">
                <a href="#">下载专区</a>
                <ul class="a1">
                <li><a href="#">部门概括</a></li>
                <li><a href="#">部门概括</a></li>
                <li><a href="#">部门概括</a></li>
                
               </ul>
            </li>
        </ul>
    </div>
</body>
</html>

设置css样式:

*{
    padding: 0;
    margin: 0;
    transition-duration: 0.5s;
    transition-timing-function: linear;
}
/* 设置动画效果 */

li{
    list-style: none;
}
/* 消除列表格式 */

.body{
    background:#af2222;
    width: 100%;
}

.body .c{
    display: flex;
    justify-content: space-around;
    margin: 0px auto;
    width: 80%;
    align-items:center ;
}

.body .c .a{
    position: relative;
    /* 父级设置 */
}
.body .c .a a:hover{
    opacity: 50%;
    color:#fff
}


.body .c .a a{
    color:black;
    font-size: large;
    text-decoration: none;
}

.body .c .a .a1{
    position: absolute;
    display: none;
     /* 隐藏操作 */
     height:0px;
     overflow:hidden;
     /* 解决父级隐藏但是子集依旧存在的情况 */
     width:90px;
}

.body .c .a:hover{
    opacity: 90%;
    

}
.body .c .a ul{
    background: #0000004a;
    /* opacity: 66%; */
    

}
.body .c .a ul li a{
    color:#fff;
    text-align: center;
    display: block;
    padding:8px;
    font-size: small;

}
.body .c .a ul li a:hover{
    color: red;
}

鼠标移动事件:

var obj =document.querySelectorAll(".a")
console.log(obj)


for (var i=0;i<obj.length;i++){
    obj[i].onmouseenter=function(){
      if(this.querySelector(".a1")){
        this.querySelector(".a1").style.display="block";
        // 可以用高度替代
        var obb=this.querySelectorAll(".a1 li")
        var sum=0
        for(var j=0;j<obb.length;j++){
            sum+=obb[j].clientHeight
        }
        this.querySelector(".a1").style.height=sum+"px"
        


      }
     }
     obj[i].onmouseleave=function(){
        
        if(this.querySelector(".a1")){
            // this.querySelector(".a1").style.display="none";
            this.querySelector(".a1").style.height="0px"
            

        }

      }

      // var date=new Date()  // Date()类 
      // date.getTime()  // 获取时间戳(时至今日所经过的毫秒数)

      // // 延迟定时器
      // setTimeout(function(){
      //   this.querySelector(".a1").style.display="none";
      // },2000)

      

}     // 鼠标版本

鼠标点击事件:

var obj =document.querySelectorAll(".a")
for (var i=0;i<obj.length;i++){
  obj[i].onclick=function(e){  // 点击后显示
    // 给每一个二级ul高度设为零
    e.stopPropagation()
    // 切除与父级以上的传播
    var u12=document.querySelectorAll(".a1")
    for(var i=0;i<u12.length;i++){
      u12[i].style.height="0px"
    }

    // 点击后出现
    if(this.querySelector(".a1")){
      this.querySelector(".a1").style.display="block";
      var obb=this.querySelectorAll(".a1 li")
              var sum=0
              for(var j=0;j<obb.length;j++){
                  sum+=obb[j].clientHeight
              }
              this.querySelector(".a1").style.height=sum+"px"
   }
  }

  document.onclick=function(){
    var u12=document.querySelectorAll(".a1")
    for(var i=0;i<u12.length;i++){
      u12[i].style.height="0px"
    }
   

  }   // 元素之间存在嵌套关系 绑定相同事件 就会出现事件传播机制

}



// ====================补充:绑定事件的方式==============

// 1.

// 2.
// var hh=function(){
//   alert(1)
// }
// <div class="child" onclick="hh()"> </div>

// // 3.添加监听器
// // addEventListener(事件类型,事件函数,事件传播阶段,默认false(冒泡) true(捕获))
// child.addEventListener("click",function(){
//       alert(1)
// },true)

标签:body,17,概括,Javascript,li,color,部门,var,下拉框
From: https://blog.csdn.net/m0_74977981/article/details/141970131

相关文章

  • 第17篇 RabbitMQ安装详细步骤
    一.RabbitMQ是什么?RabbitMQ是一个由Erlang语言开发的AMQP的开源实现。​AMQP:AdvancedMessageQueue,高级消息队列协议。它是应用层协议的一个开放标准,为面向消息的中间件设计,基于此协议的客户端与消息中间件可传递消息,并不受产品、开发语言等条件的限制。​RabbitMQ最......
  • 2024.08.17京东
    1.桩子与雪村子里有一些桩子,从左到右高度依次为1,1+2,1+2+3…,每两颗桩子之间的间隔为1.现在下了一场大雪,但是不知道雪下了多厚,现在给你两个数字,这是雪后某相邻两个桩子在雪面的高度,请你通过这两个数字计算雪的厚度。简单计算intmain(intargc,char*argv[]){inta,b......
  • JavaScript学习文档(14):深入对象、内置构造函数、综合案例
    目录一、深入对象1、创建对象三种方式2、构造函数(1)构造函数(2)说明:(3)利用构造函数创建多个对象(4)实例化执行过程3、实例成员和静态成员(1)实例成员:(2)静态成员:二、内置构造函数1、Object2、Array(1)数组常见实例方法-核心方法(2)员工涨薪计算成本案例(3)还有些数组常见方法(4......
  • javascript网页设计案例
    JavaScript在网页设计中扮演着重要的角色,能够实现动态效果和交互功能,提升用户体验。下面,我将通过一个具体的案例——“动态图片轮播”来展示JavaScript在网页设计中的应用。案例:动态图片轮播1.HTML结构<!DOCTYPEhtml><htmllang="zh"><head>  <metacharset="UTF-......
  • dell r940 安装 pm1735 固态硬盘 添加命令
    在DellR940上安装SamsungPM1735SSD并正确添加到系统中的步骤,特别是使用NVMeSSD时,主要包括硬件安装和软件设置。假设你已经将PM1735插入PCIe插槽,以下是主要的命令步骤:1.确认设备是否被识别首先,检查系统是否识别了PM1735固态硬盘:bash复制代码lspci|grep-......
  • JavaScript中的Object.freeze()和Object.seal()
    一、Object.freeze()1.简介:Object.freeze()是一个可以将对象冻结的方法。一旦对象被冻结,就不能添加、删除或修改其属性。这在需要确保对象完整性、防止任何意外或故意更改的场景中非常有用constperson={name:'Alice',age:30};Object.freeze(person);p......
  • JavaScript 循环语句
    1. for 循环for循环是最常用的循环结构之一,它适合在循环开始前就知道循环次数的情况。基本语法for(初始化表达式;条件表达式;迭代后表达式){//循环体//这里的代码会在每次迭代时执行}如何工作初始化:首先执行初始化表达式,通常用来设置循环控制变量。条件......
  • JavaScript 导出csv
    1.修改指定列为中文可以通过遍历数据对象,将需要转换为中文的字段值替换为中文显示。2.删除不需要的列可以在导出数据之前,删除不需要的列(例如id列)。示例代码exportAsCSV(){//原始数据constdata=[{id:1,name:'JohnDoe',age:28,job:'Engineer'},......
  • Cisco ISR 4000 IOS XE 17.15.1a 发布下载,新增功能概览
    CiscoISR4000SeriesIOSXERelease17.15.1aED思科4000系列集成服务路由器系统软件请访问原文链接:https://sysin.org/blog/cisco-isr-4000/,查看最新版。原创作品,转载请保留出处。作者主页:sysin.org思科4000系列集成服务路由器Cisco4000系列ISR、CiscoIOSXE1......
  • Cisco ISR 1000 IOS XE 17.15.1a 发布下载,新增功能概览
    CiscoISR1000SeriesIOSXERelease17.15.1aED思科1000系列集成多业务路由器系统软件请访问原文链接:https://sysin.org/blog/cisco-isr-1000/,查看最新版。原创作品,转载请保留出处。作者主页:sysin.org思科1000系列集成多业务路由器Cisco1000系列集成多业务路由器......