|
|
鼻子大的松鼠 · 政协资讯_花都区政协组织委员开展“加快推进广 ...· 2 月前 · |
|
|
无邪的大熊猫 · 陈兴东(中国羽毛球协会副主席、四川省体育局副 ...· 3 月前 · |
|
|
面冷心慈的登山鞋 · 【事业单位】国家税务总局云南省税务局所属事业 ...· 1 年前 · |
|
|
纯真的鼠标垫 · 原神MMD pocky 挑战 ...· 1 年前 · |
我正在尝试使用display: none隐藏一个div,然后使用jQuery通过单击一个按钮从 Animation.css 切换fadeIn动画。
但是,当我尝试切换动画时,它可以工作,但隐藏它不会播放淡出动画。
下面是一个有效的 example
HTML:
<div class="window animated"></div>
<button style="margin: 100px;">Toggle Fade Window</button>
CSS:
.window{
background: blue;
width: 200px;
height: 200px;
margin: 20px;
display: none;
}
JS:
$(function() {
$("button").click(function() {
$(".window").toggleClass("fadeIn");
})
谢谢!
发布于 2018-08-12 09:11:46
有一些与您的代码相关的问题,以及您对
animate.css
库的误解:
fadeIn
中删除
div
,它不会自动淡出,您必须添加类
fadeOut
in.
fadeIn
会将元素的
opacity
从
0
转换为
1
,因此在
1
样式中使用
display: none
时,它将不起作用。<代码>H213<代码>F214
这就是解决问题的方法:
div
没有同时具有
fadeIn
和
fadeOut
类,这意味着当您第一次呈现视图时,div处于初始状态,因此您需要在中添加
fadeIn
类。
div
>D25类,这意味着以前的div已经淡入,现在需要淡出。因此,只需从
div
中删除
fadeIn
并添加
fadeOut
类。
div
具有
fadeOut
类,则需要添加
fadeIn
并删除
fadeOut
。<代码>H235<代码>F236
以下是代码
$(function() {
$("button").click(function() {
if ($(".window").hasClass("fadeIn")) {
// if the div has fadeIn class, remove it and add fadeOut
$(".window").toggleClass("fadeIn").toggleClass("fadeOut")
else if ($(".window").hasClass("fadeOut")) {
// if the div has fadeOut class, remove it and add fadeIn
$(".window").toggleClass("fadeOut").toggleClass("fadeIn")
} else {
// if the div has neither of fadeIn nor fadeOut, add fadeIn class in
$(".window").toggleClass("fadeIn")
})
.window{
background: blue;
width: 200px;
height: 200px;
margin: 20px;