Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/unix/3.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,我有这个Jquery代码: $('.item_bar_action_holder_drop a').click(function() { var item_bar = $('.item_bar_action_holder_actions'); if(item_bar.is(':visible')) { $(this).removeClass('active'); } else {

我有这个Jquery代码:

 $('.item_bar_action_holder_drop a').click(function() {
            var item_bar = $('.item_bar_action_holder_actions');
            if(item_bar.is(':visible')) {
                $(this).removeClass('active');
            } else {
                $(this).addClass('active');
            }
            item_bar.slideToggle('fast', function() {
            });
        });

这里的问题是,当我多次单击“活动”类将设置为关闭面板的按钮时,它是错误的。我不明白为什么会这样

检查
项_栏
是否正在设置动画,如果是以下情况,则不再排队:

$('.item_bar_action_holder_drop a').click(function() {
    var item_bar = $('.item_bar_action_holder_actions');
    if (item_bar.is(':animated')) {
        return;
    }
    ...
});

我猜您的活动类的css是=display:block;而您的项目工具栏的默认css是display:none;如果我是对的;您也可以使用这种方式:

$(document).ready(function() {
   $('.item_bar_action_holder_drop a').click(function() {
      var item_bar = $('.item_bar_action_holder_actions');

      item_bar.removeClass('active');//removes class from all
      $(this).addClass('active');//adds class clicked one

      if( item_bar.is(':visible')) {//edited here !
        item_bar.slideToggle('fast',function() {
           $(this).removeClass('active');//removes class when animate complete
        });
      }
  });
  //if you want to show first panel when your document is ready
  $('.item_bar_action_holder_actions:first').show().addClass('active');
});

注意:您没有显示您的html,因此我尝试猜测您的html。

@JohnMark也许您可以提供一个演示来显示您正在经历的确切行为。这是个好主意,但是这个代码不能正常工作。它将永远不会打开,因为面板开始关闭$('.item_bar_action_holder_drop a')。单击(function(){var item_bar=$('.item_bar_action_holder_actions');$(this)。toggleClass('item_bar_action_clicked');item_bar.slideToggle('fast',function(){});这是我的新代码,非常简单。。对不起,伙计们,问题是其他jquery函数对面板有影响。比如,有人知道我怎样才能看到哪些javascript函数“链接”到一个按钮上吗?你只有一个面板对吗?你能给我们展示一下你的html和css吗?