关闭弹出式标签需要帮助。 overlay div是z-indexed,因此它不会隐藏close div。这是我的代码:
<div id='mail'>
<div id="popup-overlay"></div>
<div class="close-popup"">
<a>X</a>
</div>
</div>
<script>
var mail = $('#mail');
var overlay = $('#popup-overlay.' + pageID);
var mailClose = $('#mail.' + pageID + ' .close-popup');
mailClose.on('click touchstart', function(event){
mail.removeAttr('style');
mail.css('display', 'none');
overlay.css('display', 'none');
});
mailClose.bind('mouseover', function(event){
mailClose.css('cursor', 'pointer');
});
mailClose.on('blur', function(event){
this.blur();
});
}
</script>
答案 0 :(得分:0)
好的,所以你在代码片段中给我们的来源有一些问题,但这可能只是因为你复制粘贴了你的总代码的一个子部分。这些问题是:close-popup
的类定义中出现意外的“字符”;变量pageID未定义;最后在脚本末尾有一个额外的大括号。
据推测,这些都不是实际问题。
我认为您遇到的问题源于您用于mailClose
元素的选择器。具体来说,mailClose元素的选择器不正确,因为它具有不必要的#mail
元素。我不确定pageID变量实际上是什么,但是因为它没有出现在你给我们的HTML中,所以也需要删除它以使选择器起作用。一旦从第一段删除了那些琐碎的错误,以及CSS选择器的错误元素,我相信我的功能正如预期的那样工作,如this jsfiddle中所示。据推测,pageID实际上是一个重要的值,应该适当地添加到选择器中。
如果您想再看一个更全面的示例,请随意编辑源代码并评论此答案。希望这会有所帮助,