我需要在多次点击之间停止动画

JPa*_*shs 1 jquery

我有这个功能和功能:stopPropagation();不做我需要的.没有错误消息,它只是不起作用,当您多次单击元素时会发生传播.

更新:我需要多次单击元素时停止传播,可能"传播"不是正确的单词.

问题和我需要的是:当您多次单击元素时,动画(隐藏和显示)会多次发生.我需要它只发生一次

这是真正的代码:

$('#block-menu-menu-men-gesto ul.menu > li a.parent').click(function(e) {
  e.preventDefault();
  $('#block-menu-menu-men-gesto ul.menu ul:visible').hide("slow"); 
  $(this).parent().find('ul').show("slow");
  console.log('1111');
  e.stopPropagation();
});
Run Code Online (Sandbox Code Playgroud)

Ror*_*san 5

当您多次单击该元素时,动画(隐藏和显示)会多次发生.我需要它只发生一次

要实现此目的,您可以stop()在开始下一个之前清除任何排队的动画.试试这个:

$('#block-menu-menu-men-gesto ul.menu > li a.parent').click(function(e) {
    e.preventDefault();
    $('#block-menu-menu-men-gesto ul.menu ul:visible').stop().hide("slow"); 
    $(this).parent().find('ul').stop().show("slow");
});
Run Code Online (Sandbox Code Playgroud)

stopPropagation 用于防止事件冒泡DOM,这与您的问题无关.