javascript - 模式关闭,在按钮单击时具有过渡效果

标签 javascript html css

我有一个模式,可以通过单击此超链接打开:

<a class="link-efekt" data-hover="izrazi zanimanje" href="#izrazi-zanimanje-univerzalno">izrazi zanimanje</a>

点击这个关闭:

<a href="#close" title="Close" class="close" data-hover="zapri">zapri</a>

我正在尝试重新编程 ESC 键以始终返回主屏幕返回主屏幕或关闭模态窗口。

所以我的尝试是使用 window.history.back(); 重新编程 ESC 键以转到上一个超链接,但它可以返回多次,我只希望它是能够返回一次——刚好足以关闭模态窗口。这就是我实现 if 语句的原因,它应该检查 #izrazi-zanimanje-univerzalno 是否打开。否则 ESC 键不应该做任何事情。

我还尝试使用 $('#izrazi-zanimanje-univerzalno').hide(); 而不是 window.history.back() (没有 if 语句) 但它完全忽略了我的 CSS 过渡效果,一旦模态被隐藏,它就无法通过单击通常打开它的超链接来重新生成。

<script type="text/javascript">

    $(document).keyup(function(e) {
        if (e.keyCode == 27) {
            if ( $("#izrazi-zanimanje-univerzalno").data('modal').isShown ) {
                 window.history.back();                                   
            }
        }
    });

</script>

在实现了@crazymatt 提出的第一个建议解决方案后,我在按键时得到了这个控制台输出:

enter image description here

最佳答案

既然您使用的是 JQuery,那么您不能运行淡入淡出动画然后关闭窗口吗?像这样:

$( "#clickme" ).click(function() {
  $( "#book" ).fadeTo( "slow" , 0, function() {
    // Animation complete now close overlay
  });
});

made a JS.Fiddle with my example但我没有花时间将其应用于叠加层。

关于javascript - 模式关闭,在按钮单击时具有过渡效果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43878674/

相关文章:

JavaScript - 取消滚动事件

html - 将 <div> 对齐到顶部,一个对齐到表格的底部

javascript - 使用 html5 canvas 操作文本

html - 垂直对齐引导列内的文本

internet-explorer - 可点击区域在 IE 中旋转超链接?

css - 使用 Bootstrap 的移动设备上 <body> 的空白左边距

javascript - d3.js 气泡图动画

javascript - 用javascript获取url参数

javascript - 尝试使用 IF 语句自动填充单元格

html - 使内部 div 宽度动态