JavaScript 动画隐藏元素使用 jquery
JavaScript animation hide element using jquery
在我正在构建的网站中,我在另一个 div
中有一个 div
。单击 header 时,内部 div
应该 dissapear/reappear。但是只改变不透明度和高度是很丑陋的,所以我想添加一些动画,这样内部 div
不会突然出现,而是 "creates" 所需的 space 在外部 div
(带动画)同时又出现了(带动画)。我怎样才能做到这一点?
$("#d1H").click(function() {
var element = document.getElementById("d2");
if(element.style.opacity == "0") {
element.style.opacity = "1";
element.style.height = "auto";
}
else{
element.style.opacity = "0";
element.style.height = "0";
}
});
#d1{
border: 2px solid #333;
}
#d2{
border: 2px solid #000;
margin: 1rem;
}
#placeholder{
height: 100px;
}
<script src="http://code.jquery.com/jquery-3.3.1.min.js"></script>
<div id="d1">
<h1 id="d1H">This is the outer div.</h1>
<div id="d2">
<h1">This is the inner div.</h1>
<div id="placeholder"></div>
</div>
</div>
您可以使用 CSS 属性 转换,它确定更改 CSS 属性 所需的时间量。就像一个简单的例子,让一切都转变,把这个添加到你的 CSS:
* {
transition: 1s;
}
您也可以使用特定属性来执行此操作。给出了一些例子 here
如果您使用jQuery,您可以使用.fadeIn()/.fadeOut() or .fadeToggle()。
$("#d1H").click(function() {
$("#d2").fadeToggle();
});
在我正在构建的网站中,我在另一个 div
中有一个 div
。单击 header 时,内部 div
应该 dissapear/reappear。但是只改变不透明度和高度是很丑陋的,所以我想添加一些动画,这样内部 div
不会突然出现,而是 "creates" 所需的 space 在外部 div
(带动画)同时又出现了(带动画)。我怎样才能做到这一点?
$("#d1H").click(function() {
var element = document.getElementById("d2");
if(element.style.opacity == "0") {
element.style.opacity = "1";
element.style.height = "auto";
}
else{
element.style.opacity = "0";
element.style.height = "0";
}
});
#d1{
border: 2px solid #333;
}
#d2{
border: 2px solid #000;
margin: 1rem;
}
#placeholder{
height: 100px;
}
<script src="http://code.jquery.com/jquery-3.3.1.min.js"></script>
<div id="d1">
<h1 id="d1H">This is the outer div.</h1>
<div id="d2">
<h1">This is the inner div.</h1>
<div id="placeholder"></div>
</div>
</div>
您可以使用 CSS 属性 转换,它确定更改 CSS 属性 所需的时间量。就像一个简单的例子,让一切都转变,把这个添加到你的 CSS:
* {
transition: 1s;
}
您也可以使用特定属性来执行此操作。给出了一些例子 here
如果您使用jQuery,您可以使用.fadeIn()/.fadeOut() or .fadeToggle()。
$("#d1H").click(function() {
$("#d2").fadeToggle();
});