jquery切换 - 在切换功能之间切换?

mat*_*att 2 jquery toggle

嘿伙计们,我喜欢jquery切换功能.然而,目前我正面临一个小问题,我不知道如何以最好的方式解决它.

我有一个名为#searchbox的div,它取决于隐藏或可见的用户设置.

如果我点击一个按钮就会触发切换功能,应该.slideDown()#searchbox或.slideUp()搜索框.

 //if already visible - slideDown
//if not visible - slideUp
$('#searchboxtrigger').toggle(
  function(){
    $('#searchbox').slideDown('fast');
  },
  function(){
    $('#searchbox').slideUp('fast');
  }
);
Run Code Online (Sandbox Code Playgroud)

实际上它已经很好用了,唯一的事情是toggle()内的第一个函数总是首先被触发,所以如果#searchbox已经可见并且slidedDown它应该立即触发slideUp函数,反之亦然.

知道我要做些什么才能做到这一点?

psy*_*tik 7

$('#searchboxtrigger').click( function(){
    $('#searchbox').slideToggle('fast');
  });
Run Code Online (Sandbox Code Playgroud)


Qui*_*son 5

将代码更改为包含 stop()

描述:停止匹配元素上当前运行的动画.

//if already visible - slideDown
//if not visible - slideUp
$('#searchboxtrigger').toggle(
  function(){
    $('#searchbox').stop(true).slideDown('fast');
  },
  function(){
    $('#searchbox').stop(true).slideUp('fast');
  }
);
Run Code Online (Sandbox Code Playgroud)