jQuery控制元素的显示与隐藏(三种方式对比)

news2024/12/23 11:51:35

hide和show

hide:是$(“.类名”)或$(“#标签名”)或$(“标签名”).hide()
show:是$(“.类名”)或$(“#标签名”)或$(“标签名”).show()

元素直接消失,没有任何动态效果

slideToggle

通过控制元素的高度来显示与隐藏,因此会有动画效果。slideToggle如果你操作的与元素是隐藏的,那么那就会显示,如果是显示的那么就会隐藏。
在这里插入图片描述
完整demo,需要你自己下载jQuery.js代码

首先将下面两个dd的display置为none。

<!DOCTYPE html>
<html>
<head>
    <script type="text/javascript" src="./js/jquery-2.2.3.js"></script>
    <script>
      // 补全代码,实现手风琴菜单功能
     
     $(function(){
        $(".dl .test").click(function(){ 
           if($(this).text()==="系统管理"){      
            $("#tt1").stop().slideToggle()
           }else if($(this).text()==="日常业务"){
            $("#tt2").stop().slideToggle()
           }else if($(this).text()==="投资业务"){
            $("#tt3").stop().slideToggle()
           }
        }) 
     })
    </script>
    <style>
        dl {
            width: 150px;
            background-color: antiquewhite;
            border: 1px solid black;
        }
        dt {
            background: #00ffff;
            font-size: 14px;
            margin-top: 2px;
            text-align: center;
             padding-top:5px;
              padding-bottom:3px;
        }
        dd {           
            margin-left: 0px;
            margin-right:0px;
            font-size: 14px;
            border: 1px solid white;
            text-align: center;           
        }
        a {
            text-decoration: none;
        }
        ul {
            list-style: none;
            padding: 3px;
        }
        li {
              border-bottom: 1px solid white;             
              margin-bottom:5px;
              background-color:#ffd800;
              padding-top:5px;
              padding-bottom:3px;
        }
        li:hover {
            background-color: black;
        }
            li:hover a {
                color: white;
            }
            
            #tt2,#tt3{
                display: none;
            }
            
    </style>


</head>
<body>
    <dl class="dl">
        <dt  class="test"><a href="#">系统管理</a></dt>
        <dd  id="tt1">
            <ul>
                <li><a href="#">员工管理</a></li>
                <li><a href="#">账户管理</a></li>
                <li><a href="#">客户管理</a></li>
                <li><a href="#">资产管理</a></li>

            </ul>
        </dd>
        <dt  class="test"><a href="#" >日常业务</a></dt>
        <dd id="tt2">
            <ul>
                <li><a href="#">凭证录入</a></li>
                <li><a href="#" onclick="alert('欢迎来到jQuery世界!')"> 数据修改</a></li>
                <li><a href="#">报表查询</a></li>
                <li><a href="#">报表传送</a></li>

            </ul>
        </dd>
        <dt class="test"><a href="#"  >投资业务</a></dt>
        <dd id="tt3">
            <ul>
                <li><a href="#">沪深股市</a></li>
                <li><a href="#">白银现货</a></li>
                <li><a href="#">私募基金</a></li>
                <li><a href="#">银行理财</a></li>
            </ul>
        </dd>
    </dl>
</body>
</html>

fadeIn和fadeOut

控制元素的显示淡入淡出,长度变化就是一瞬间,没有过渡,但是里面的内容会慢慢显示或者消失。

$(“#tt1”).is(‘:visible’)判断这个元素是显示还是隐藏

<!DOCTYPE html>
<html>
<head>
    <script type="text/javascript" src="./js/jquery-2.2.3.js"></script>
    <script>
      // 补全代码,实现手风琴菜单功能
    
     $(function(){
        $(".dl .test").click(function(){ 
            let vis1=$("#tt1").is(':visible')
            let vis2=$("#tt2").is(':visible')
            let vis3=$("#tt3").is(':visible')
            $("dd").fadeOut()
           if($(this).text()==="系统管理"){    
            console.log(vis1);
            if(vis1){
                $("#tt1").hide()
                return
            } 
            $("#tt1").stop().fadeIn()
            // $("#tt1").stop().slideToggle()
           }else if($(this).text()==="日常业务"){
            $("#tt2").stop().fadeIn()
           }else if($(this).text()==="投资业务"){
            $("#tt3").stop().fadeIn()
           }
        }) 
     })
    </script>
    <style>
        dl {
            width: 150px;
            background-color: antiquewhite;
            border: 1px solid black;
        }
        dt {
            background: #00ffff;
            font-size: 14px;
            margin-top: 2px;
            text-align: center;
             padding-top:5px;
              padding-bottom:3px;
        }
        dd {           
            margin-left: 0px;
            margin-right:0px;
            font-size: 14px;
            border: 1px solid white;
            text-align: center;           
        }
        a {
            text-decoration: none;
        }
        ul {
            list-style: none;
            padding: 3px;
        }
        li {
              border-bottom: 1px solid white;             
              margin-bottom:5px;
              background-color:#ffd800;
              padding-top:5px;
              padding-bottom:3px;
        }
        li:hover {
            background-color: black;
        }
            li:hover a {
                color: white;
            }
            
            #tt2,#tt3{
                display: none;
            }
            
    </style>


</head>
<body>
    <dl class="dl">
        <dt  class="test"><a href="#">系统管理</a></dt>
        <dd  id="tt1">
            <ul>
                <li><a href="#">员工管理</a></li>
                <li><a href="#">账户管理</a></li>
                <li><a href="#">客户管理</a></li>
                <li><a href="#">资产管理</a></li>

            </ul>
        </dd>
        <dt  class="test"><a href="#" >日常业务</a></dt>
        <dd id="tt2">
            <ul>
                <li><a href="#">凭证录入</a></li>
                <li><a href="#" onclick="alert('欢迎来到jQuery世界!')"> 数据修改</a></li>
                <li><a href="#">报表查询</a></li>
                <li><a href="#">报表传送</a></li>

            </ul>
        </dd>
        <dt class="test"><a href="#"  >投资业务</a></dt>
        <dd id="tt3">
            <ul>
                <li><a href="#">沪深股市</a></li>
                <li><a href="#">白银现货</a></li>
                <li><a href="#">私募基金</a></li>
                <li><a href="#">银行理财</a></li>
            </ul>
        </dd>
    </dl>
</body>
</html>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/148707.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

RHCE ansible 作业

1、jinjia2模板 hosts.j2&#xff0c;内容如下(主机名和ip地址使用变量)&#xff1a; Welcome to 主机名 &#xff01;&#xff08;比如servera.lab.example.com&#xff09; My ip is ip地址. 要求在所有受管主机生成文件&#xff1a;/etc/welcome.txt。 2、角色部分 根据下列…

【Java】生产者消费者模型

【Java】生产者消费者模型 0x1 前言 生产者和消费者问题是线程模型中的经典问题&#xff1a;生产者和消费者在同一时间段内共用同一个存储空间&#xff0c;生产者往存储空间中添加产品&#xff0c;消费者从存储空间中取走产品&#xff0c;当存储空间为空时&#xff0c;消费者…

设计模式的简单整理

单例的几种方式。 public class Single{private static volatile Single single;private single(){}public static Single getSingle(){if(single null){synchronized(Single.class){if(single null){single new Single();}}}return single;} } 在dcl中volatile为了防止指…

你问我答|为什么说数据中心散热迎来拐点?

喜报!      “绿色领跑企业”      近期,戴尔荣获由中环联合认证中心(CEC)颁发的“绿色领跑企业”奖项,这是继“环保产品领跑者”之后的又一殊荣,恭喜戴尔!    作为全球领先的数字化解决方案供应商,戴尔将可持续发展置于一切工作的核心,以智能、高效的解决方案帮助…

scikit-learn 线性回归 LinearRegression 参数详解

scikit-learn 线性回归 LinearRegression 参数详解LinearRegression 参数详解参考文献LinearRegression 参数详解 # 从 sklearn 中引入线性模型模块 from sklearn import linear_model # 建立线性回归对象 reg reg linear_model.LinearRegression(fit_interceptTrue,copy_XTr…

Stack 155.最小栈

力扣155. 最小栈 【解法一】俩个栈实现 【解法二】一个栈实现 155. 最小栈 设计一个支持 push &#xff0c;pop &#xff0c;top 操作&#xff0c;并能在常数时间内检索到最小元素的栈。 实现 MinStack 类: MinStack() 初始化堆栈对象。 void push(int val) 将元素val推…

【C++】通过栈/队列/优先级队列/反向迭代器了解适配器及仿函数

目录 一、stack 实现一个stack 二、queue 实现一个queue 三、deque&#xff08;双端对列&#xff09;了解 1、deque的概念 2、为什么采用deque作为stack和queue的底层容器&#xff1f; 3、deque的缺点 3.1随机访问速度不如vector 3.2中间插入、删除速度不如list 3.3…

node.js——http模块

文章目录什么是 http 模块创建最基本的 Web 服务器request 请求对象response 响应对象解决中文乱码问题根据不同的 url 响应不同的 html 内容文件上传实战什么是 http 模块 http 模块是 Node.js 官方提供的、用来创建 Web 服务器的模块。 node.js提供了http模块&#xff0c;其…

【VCS Verdi】VCS Verdi 联合仿真总结

1. VCS 介绍VCS是编译型 Verilog 模拟器&#xff0c;它完全支持 OVI 标准的 Verilog HDL 语言、PLI 和 SDF。VCS 具有行业中较高的模拟性能&#xff0c;其出色的内存管理能力足以支持千万门级的 ASIC 设计&#xff0c;而其模拟精度也完全满足深亚微米 ASIC Sign-Off 的要求。VC…

C++模拟实现优先级队列(priority_queue)

目录 一、 仿函数 1.1仿函数的概念使用 1.2模拟实现仿函数 二、优先级队列&#xff08;priority_queue) 2.1 优先级队列概念 2.2 优先级队列使用 2.3 模拟实现优先级队列 2.3.1 优先级队列类框架 2.3.2 模板参数 2.3.3 构造函数 2.3.4 仿函数 2.3.5 adjust_up (堆向…

linux系统中QT里面信号与槽的实现方法

大家好&#xff0c;今天主要来聊一聊&#xff0c;QT中信号与槽的使用方法。 目录 第一&#xff1a;QT中信号与槽简介 第二&#xff1a;如何在项目里创建信号 第三&#xff1a;如何在项目中创建槽 第四&#xff1a;项目中连接信号与槽 第一&#xff1a;QT中信号与槽简介 在学…

遥感图像处理:最小噪声分离变换(Minimum Noise Fraction Rotation,MNF Rotation)

遥感图像处理&#xff1a;最小噪声分离变换&#xff08;Minimum Noise Fraction Rotation&#xff0c;MNF Rotation1.PCA变换2.MNF3.PCA和MNF1.PCA变换 在统计学中&#xff0c;主成分分析PCA是一种简化数据集的技术。它是一个线性变换。这个变换把数据变换到一个新的坐标系统中…

Django使用Celery异步发送短信(Django4.1.3+Celery5.2.7+ubuntu)

首先要下载Celery&#xff0c;直接pip就好 我的redis配置 CACHES {"default": {"BACKEND": "django_redis.cache.RedisCache","LOCATION": "redis://192.168.2.128:6379/0","OPTIONS": {"CLIENT_CLASS"…

自动化测试Seleniums~2

webdriver API 1.如何打开网页以及如何关闭一个浏览器。 package test_20230107;import org.openqa.selenium.WebDriver; import org.openqa.selenium.chrome.ChromeDriver;import static java.lang.Thread.sleep;public class Test {public static void main(String[] args)…

JavaEE多线程-线程的状态和安全问题

目录一、线程中的基本状态二、线程安全问题三、线程安全的标准类四、synchronized 关键字-监视器锁monitor locksynchronized 的特性五、volatile 关键字一、线程中的基本状态 NEW: 安排了工作, 还未开始行动, 就是创建了Thread对象, 但还没有执行start方法(内核里面还没有创建…

SpringSecurity(十一)【跨域】

十一、跨域 简介 跨域问题实际应用开发中的一个非常常见的需求&#xff0c;在 Spring 框架中对于跨域问题的处理方案有好几种&#xff0c;引入了 Spring Security 之后&#xff0c;跨域问题的处理方案又增加了 什么是 CORS CORS&#xff08;Cross-Origin Resource-Sharing&…

联合证券|重磅数据出炉,道指飙涨700点!美股新年首周“开门红”!

美股涨嗨了&#xff01; 当地时间1月6日&#xff0c;最新发布的美国12月非农工作陈述显现&#xff0c;美国工作市场终于呈现降温迹象&#xff0c;过去一年的激进加息成效初显。受此提振&#xff0c;美股三大股指高开高走&#xff0c;彻底改变前几日的跌势。从周k线看&#xff…

PCB结构和谐振(三)

PCB结构和谐振&#xff08;一&#xff09;PCB结构和谐振&#xff08;二&#xff09;仿真研究在本节中&#xff0c;我们首先对玻璃束的随机分布进行了简单的模拟研究。然后我们利用这些实验结论来简化常用的玻璃布3D结构。最后&#xff0c;这种简化的结构用于研究复杂层压板和两…

Java设计模式中原型模式是啥/浅克隆与深克隆又是什么/clone方法怎么回事

继续整理记录这段时间来的收获&#xff0c;详细代码可在我的Gitee仓库SpringBoot克隆下载学习使用&#xff01; 4.5 原型模式 4.5.1 概述 用已创建实例作为原型&#xff0c;通过复制该原型对象来创建一个和原型对象一样的新对象 4.5.2 结构 抽象原型类&#xff1a;规定具体…

Docker系列 深度使用nextcloud(九) 硬盘挂载

转自我的个人博客https://blognas.hwb0307.com&#xff0c;该文的内容更新仅在个人博客可见。欢迎关注&#xff01; 前言 基于《Docker系列 搭建个人云盘服务nextcloud》&#xff0c;相信无论是在有/无443端口的Linux机子里均可成功安装Nextcloud。值得一提的是&#xff0c;Ne…