我在这里有一些关于显示和隐藏div的帮助,结果创建了以下代码,效果很好,唯一的问题是当我点击类.closepanel的链接时,幻灯片动画不起作用,例如它关闭时不会应用动画......看起来很奇怪,因为结束动画确实适用于其他地方的点击......
特别是因为它共享滑动功能,因为它有效...
$(document).ready(function(){
$('#panel').click(function(e) {
e.stopPropagation();
});
$(".panel-tab").click(function(e) {
$("#panel").slideDown("slow");
e.stopPropagation();
});
$(document,'.closepanel').click(function() {
$("#panel").slideUp("slow");
});
})
答案 0 :(得分:1)
现在我可能记错了。但我认为如果你用JQuery的参数限制你的搜索,那么这个参数应该是第二个参数。但是,由于您使用文档,实际上并没有对其进行限制。
所以,这些中的任何一个都应该起作用
$('.closepanel').click(function() {
$("#panel").slideUp("slow");
});
或者如果你真的想参考文件
$('.closepanel', document).click(function() {
$("#panel").slideUp("slow");
});
答案 1 :(得分:1)
选择器中的参数列表是错误的方法:
$(document,'.closepanel')
context参数应该是第二个:
$('.closepanel', document)
将在closepanel
的上下文中选择类document
的元素。
有关上下文参数的更多详细信息,请参阅:http://api.jquery.com/jQuery/。
更新:
要选择除.closepanel
之外的所有内容:
$(document).Remove('.closepanel')
或
$('*:not(.closepanel)')
然后绑定您的事件处理程序。
有关详细信息,请参阅:http://api.jquery.com/remove/和http://api.jquery.com/not-selector/
更新2:
如果您想构建一个集合来绑定一个滑动面板的处理程序,您可以:
.add(selector)
添加到所选项目http://api.jquery.com/add/ 您还可以使用one()
http://api.jquery.com/one/将处理程序绑定到事件以运行一次,以防止在未显示面板时调用slideup()的副作用。