gpt4 book ai didi

javascript - 关闭时更改动画哦汉堡包图标

转载 作者:太空宇宙 更新时间:2023-11-04 00:57:12 25 4
gpt4 key购买 nike

我有这段代码,效果很好!但是我想做的是在 JAVASCRIPT 中添加另一个类,可以说是非事件的,这样我可以在关闭 X 时添加另一个动画。但是我在创建它时遇到了问题。我可以使用 toggleClass 执行此操作还是应该使用什么?谁能帮帮我?

$(document).ready(function() {
$(".icon").click(function() {
$(".icon").toggleClass("active");
});});
body {
margin: 0;
padding: 0;
background: #ff5c40;
}

.icon {
position: absolute;
top: 50%;
left: 50%;
transform: transition(-50%, -50%);
width: 80px;
height: 80px;
}

.hamburger {
width: 50px;
height: 6px;
background: #fff;
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
box-shadow: 0 2px 5px rgba(0, 0, 0, .2);
transition: .5s;
}

.hamburger:before,
.hamburger:after {
content: "";
position: absolute;
width: 50px;
height: 6px;
background: #fff;
box-shadow: 0 2px 5px rgba(0, 0, 0, .2);
transition: .5s;
}

.hamburger:after {
top: 16px;
}

.hamburger:before {
top: -16px;
}

.icon.active .hamburger {
background: rgba(0, 0, 0, 0);
box-shadow: 0 2px 5px rgba(0, 0, 0, 0);
}

.icon.active .hamburger:before {
top: 0px;
-webkit-transform: rotate(-135deg) ;
transform: rotate(-135deg);
-webkit-transition: top .2s ease-in-out, -webkit-transform .3s ease-in-out .2s;
transition: top .2s ease-in-out, -webkit-transform .3s ease-in-out .2s;
transition: top .2s ease-in-out, transform .3s ease-in-out .2s;
transition: top .2s ease-in-out, transform .3s ease-in-out .2s, -webkit-transform .3s ease-in-out .2s;
}

.icon.active .hamburger:after {
top: 0px;
-webkit-transform: rotate(-45deg) ;
transform: rotate(-45deg);
transition: top .2s ease-in-out, -webkit-transform .3s ease-in-out .2s;
transition: top .2s ease-in-out, transform .3s ease-in-out .2s;
transition: top .2s ease-in-out, transform .3s ease-in-out .2s, -webkit-transform .3s ease-in-out .2s;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

<div class="icon">
<div class="hamburger">
</div>
</div>

最佳答案

您只需在切换后检查 .icon 是否没有 .active 类,然后您就可以添加任何您想要的功能。

$(document).ready(function() {
$(".icon").click(function() {
$(this).toggleClass("active");

/* Check if the icon does not have class active */
if(!$(this).hasClass("active")){
/* Do something, for example add class color-icon that changes the color of the hamburguer,
show an alert... */
$(".icon .hamburger").addClass("non-active");
}else{
$(".icon .hamburger").removeClass("non-active");
}

});
});

这是添加了代码和 CSS 的示例:http://jsfiddle.net/9yrvwou0/

关于javascript - 关闭时更改动画哦汉堡包图标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54343715/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com