jQuery - 显示和隐藏模式

标签 jquery css

我遇到了以下问题: 我有一个模态,当我单击导航上的一个按钮时它会滑入,并且模态上有一个关闭按钮来关闭它。但我还希望当我在模式外单击时这将关闭。

  $('.open').on('click', function(){
     $('.modal').animate({ 'marginTop': '0px' }, 500);
  })

 $('.close, .main-content').on('click', function(){
     $('.modal').animate({ 'marginTop': '-50px' }, 500);
 })

这里是我的 Codepen 来展示我的问题。 http://codepen.io/larz/pen/cCiwg

最佳答案

您的示例中的问题是,当您单击“打开”时,这两个单击事件都会执行。因此它会立即打开然后关闭。

要修复它,只需将 event.stopPropagation() 添加到您的“打开”点击处理程序中。这将防止点击事件冒泡到 .main-content

$('.open').on('click', function(ev){
    ev.stopPropagation();
    $('.modal').animate({ 'marginTop': '0px' }, 500);
});

http://codepen.io/anon/pen/djmun

关于jQuery - 显示和隐藏模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22210601/

相关文章:

jquery - 添加 jquery 滚动/点击功能

javascript - 数组的值在更新属性值时得到更新

html - 使用列表的固定高度画廊 - 不同的纵横比

jQuery 滚动条不显示

jQuery Datatables - 全局保存过滤器设置

javascript - Handlebars.js 和链接标签

javascript - 如何在没有 jQuery UI 的情况下创建简单的 jQuery 选项卡?

html - 如何将一个 div 保持在另一个作为其父级的 div 旁边

Javascript for 循环与 jQuery

jquery - 让 jQuery 在执行下一行之前等待一个 .each 函数完成?