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

时间:2010-11-08 07:11:28

标签: 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');
  }
);

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

任何想法我必须做些什么来完成这项工作?

2 个答案:

答案 0 :(得分:7)

$('#searchboxtrigger').click( function(){
    $('#searchbox').slideToggle('fast');
  });

答案 1 :(得分:5)

将您的代码更改为包含stop()

  

说明:停止匹配元素上当前正在运行的动画。

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