Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/79.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/39.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
jQuery动画不应用链接?_Jquery - Fatal编程技术网

jQuery动画不应用链接?

jQuery动画不应用链接?,jquery,Jquery,我在这里得到了一些关于显示和隐藏div的帮助,结果创建了以下代码,效果很好,唯一的问题是当我单击与类的链接时。关闭面板slideup动画不起作用,例如,关闭时未应用动画。。。似乎很奇怪,因为关闭动画确实适用于其他任何地方的单击 特别是因为它与slideup共享一个可以工作的功能 $(document).ready(function(){ $('#panel').click(function(e) { e.stopPropagation(); }); $(".panel

我在这里得到了一些关于显示和隐藏div的帮助,结果创建了以下代码,效果很好,唯一的问题是当我单击与类的链接时。关闭面板slideup动画不起作用,例如,关闭时未应用动画。。。似乎很奇怪,因为关闭动画确实适用于其他任何地方的单击

特别是因为它与slideup共享一个可以工作的功能

$(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");
  });
})

现在我可能记错了。但是我认为,如果您将搜索限制为使用JQuery参数,那么该参数应该是第二个参数。但由于您使用了文档,实际上并没有对其进行太多限制

所以,这两种方法中的任何一种都应该有效

$('.closepanel').click(function() {
      $("#panel").slideUp("slow");
  });
或者如果您确实想引用文档

$('.closepanel', document).click(function() {
      $("#panel").slideUp("slow");
  });

选择器中的参数列表对于此行来说是错误的:

$(document,'.closepanel')
上下文参数应该是第二个:

$('.closepanel', document)
它将在
文档
的上下文中使用类
closepanel
选择元素

有关上下文参数的详细信息,请参见


更新: 要选择除
之外的所有内容,请使用以下命令关闭面板

$(document).Remove('.closepanel')

然后绑定事件处理程序

有关更多信息,请参阅:和


更新2:

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

  • 使用多个选择器组合:
  • 使用
    .add(选择器)
    添加到所选项目
  • 将函数创建为变量,并分别绑定事件

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

我很抱歉导致“单击任意位置”功能不起作用,.closepanel仍然只是关闭。感谢如此快速的响应,场景是:我有一个slidedown菜单,当用户单击框外的任何位置时,它将关闭,但我也希望在已放下的面板内有一个“closepanel”按钮,这样他们也可以通过这种方式关闭它…但单击此按钮时向上滚动动画不会滚动。。。。它只是直接关闭。。。。。有什么想法吗?更新2:-谢谢,正如我在代码中显示的,我尝试了多个选择器。。。一定有什么奇怪的冲突,否则我将不得不接受结束(虽然我真的不想),因为我认为这是不可能的。您是否通过外部单击和按钮单击来检查差异?对不起,我的大部分答案都是关于选择器的,你已经做过了。它确实有用!谢谢你的努力,原来只需要添加到链接lol!再次感谢。谢谢你的帖子,这没用,我很震惊。仍然是相同的动画。所以当单击.closepanel时,#closepanel不会向上滑动?#封闭面板位于何处?如果单击位于包含函数或事件列表器的另一个元素中,则可能是您的单击实际上触发了另一个函数或事件。我已尝试过。closepanel(指向close#panel的链接)-面板内部和外部,但为了有效。。。正如我的原始代码所示,您可以单击#anel之外的任何位置来关闭它,但我还希望在#panel内有一个.closepanel链接,以便用户也可以通过这种方式关闭它。-但在这样做时,单击.closepanel时,slideup动画不起作用,它只是将其关闭。问题是,您有一个巨大的Negativee左边距,因此您的文本最终无法查看。尝试将左边距设置为0px,您将看到文本,如果单击它,您还将看到动画工作正常。你也可能不想在你的亲密链接的href中添加一个。尝试使用负边距以外的其他方法定位div。已解决!lol-问题是需要将“#”添加到链接中!谢谢
$('*:not(.closepanel)')