jQuery动画没有申请链接?

时间:2011-07-07 12:37:28

标签: jquery

我在这里有一些关于显示和隐藏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");
  });
})

2 个答案:

答案 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:

如果您想构建一个集合来绑定一个滑动面板的处理程序,您可以:

您还可以使用one() http://api.jquery.com/one/将处理程序绑定到事件以运行一次,以防止在未显示面板时调用slideup()的副作用。