【发布时间】:2015-11-25 14:13:53
【问题描述】:
我有一个对话框,我想使用纯 JavaScript 显示/隐藏它。我使用了 modal.classList.add('hide');它隐藏了它,但随后整个屏幕冻结了我无法点击任何东西。隐藏和显示动画对于我正在构建的对话框来说是最重要的,这就是我采用这种方法的原因。这是我的模态对话框
<div class="modal fade">
<div class="modal-dialog">
<div class="modal-content" >
<div class="modal-header">
<a class="close button">
<paper-button raied type="button" class="close" id="close" aria-hidden="true" on-click="close">Close</paper-button>
</a>
<h2 class="modal-title">Title</h2>
</div>
<div class="modal-body next">
<img class='modal-img' />
</div>
<div class="modal-footer">
<paper-button raied id="previous" type="button" class="pull-left prev" on-click="prev">Previous</paper-button>
<paper-button raied id="next" type="button" class="next" on-click="next">Next</paper-button>
</div>
</div>
</div>
</div>
这是关闭对话框和 CSS 的函数:
close: function() {
var modal = Polymer.dom(this.root).querySelector(".modal");
//modal.style.display = "none";
modal.classList.add('hide');
}
这是我的样式表:
<style>
@keyframes show {
0% {
display: none;
opacity: 0;
}
1% {
display: block;
}
100% {
display: block;
opacity: 1;
}
}
@keyframes hide {
0% {
display: block;
opacity: 1;
}
99% {
display: block;
}
100% {
display: none;
opacity: 0;
}
}
.element, .element-css {
animation: show 500ms linear;
animation-fill-mode: forwards;
}
.hide{
animation: hide 500ms linear;
animation-fill-mode: forwards;
}
</style>
【问题讨论】:
-
你可以为此创建一个 demo fiddle 吗?我想这不是你说的
twitter-bootstrapmodal -
不,它不是 twitter 引导程序。我使用了聚合物和霓虹动画
标签: javascript html css