我正在构建onclick
激活this question的网站上有一些项目。
现在动画是单向的,当你关闭动画或从模态的焦点点击时,动画就会消失。从我一直在阅读的内容来看,人们似乎使用fadeIn / slideIn动画进行一次性效果,但是有可能反转动画,而不是仅仅将显示更改为无,它会滑回吗?
答案 0 :(得分:3)
#modal{bottom: 0; opacity: 1; transition: bottom 400ms, opacity 400ms; }
#modal.hidden{bottom: -300px; opacity: 0}
然后在按钮点击事件:
$("#modal").addClass("hidden")
关闭事件:
$("#modal").removeClass("hidden")
如果你需要纯粹的javascript,那将是更多的代码,但基本上就是
答案 1 :(得分:0)
根据您的代码结构,您可以通过以下几种方式解决此问题:
animation-direction: reverse;
CSS属性$('element').slideIn();
来显示模态,$('element').slideOut();
来隐藏模态。
$(document).ready(function() {
$('.open').on('click', function(e) {
e.preventDefault();
if ($('.modal').hasClass('hide')) {
$('.modal').removeClass('hide');
}
$('.modal').addClass('show');
});
$('.close').on('click', function(e) {
e.preventDefault();
$('.modal').addClass('hide');
if ($('.modal').hasClass('show')) {
$('.modal').removeClass('show');
}
});
});
.modal {
position: fixed;
top: 0;
left: 0;
width: 300px;
height: 300px;
left: -305px;
z-index: 999;
transition: all 0.3s ease;
background: #ffffff;
border: 1px solid blue;
}
.modal.show {
left: 150px;
}
.modal.hide {
left: -305px;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<p>Click <a href="#" class="open">here</a> to open modal</p>
<div class="modal">
<p>This is a modal window.</p>
<p>Click <a href="#" class="close">here</a> to close</p>
</div>
请注意,此示例仅用于说明概念验证 - 您需要自己整理:)