原生JS编写点击显示隐藏,以及里面需要注意的地方

好长时间不用原生JS编写代码,今天掏出原生JS来实现了一个简单的点击显示和隐藏的功能,果然是好久不写原生JS了,这个功能实现都出现了问题。。。【手动滑稽】【手动滑稽】【手动滑稽】。。

现在记录下为什么出现这个问题,做一个备忘吧!

首先先是dom结构:

<div class="nav_manage">
    <p id="manageBtn">系统管理 <span class="sanXia"></span></p>
    <div class="nav_manage_hid">
        <ul>
            <li>listOne</li>
        </ul>
    </div>
</div>

想要实现的功能是,点击系统管理的那个p标签,实现下面的div内部的内容的实现和隐藏,下面是最初的JS代码,css样式忽略

var manageBtn = document.getElementById('manageBtn');
var managehid = document.getElementsByClassName('nav_manage_hid')[0];
var showMana = 0;

manageBtn.addEventListener('click',function() {
    if(showMana == 0) {
        manageBtn.className = "activeM
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
可以使用CSS3的过渡效果来实现显示/隐藏添加动画。具体步骤如下: 1. 编写CSS样式,设置需要隐藏的元素的初始状态和结束状态。 ```css /* 初始状态 */ .hide { opacity: 0; visibility: hidden; transition: opacity 0.3s ease-out, visibility 0s linear 0.3s; } /* 结束状态 */ .show { opacity: 1; visibility: visible; transition: opacity 0.3s ease-in, visibility 0s linear; } ``` 2. 使用JavaScript来切换元素的class,实现显示/隐藏效果。 ```js var element = document.getElementById('myElement'); // 隐藏元素 element.classList.remove('show'); element.classList.add('hide'); // 显示元素 element.classList.remove('hide'); element.classList.add('show'); ``` 3. 如果需要添加动画效果,可以在显示/隐藏元素的同时设置一个定时器,让元素在一段时间后再切换class,以实现动画效果。 ```js var element = document.getElementById('myElement'); // 隐藏元素并添加动画 element.classList.remove('show'); element.classList.add('hide'); setTimeout(function() { element.classList.add('hidden'); }, 300); // 显示元素并添加动画 element.classList.remove('hide'); element.classList.remove('hidden'); setTimeout(function() { element.classList.add('show'); }, 0); ``` 在上面的代码中,我们使用了setTimeout函数来延迟切换class,以实现动画效果。在隐藏元素时,我们先将元素的opacity设置为0,然后添加一个0.3秒的过渡效果,最后在0.3秒后将元素的visibility属性设置为hidden,以避免元素在过渡效果结束后仍然占据页面空间。在显示元素时,我们先将元素的visibility属性设置为visible,然后添加一个0.3秒的过渡效果,最后在过渡效果结束后将元素的opacity设置为1。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值