代码之家  ›  专栏  ›  技术社区  ›  matt

jquery toggle-在toggle函数之间切换?

  •  2
  • matt  · 技术社区  · 14 年前

    嘿伙计们,

    我有一个名为搜索框的div,它取决于用户设置是隐藏的还是可见的。

    如果我单击一个按钮,就会触发一个切换函数,应该是.slideDown()搜索框或.slideUp()搜索框。

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

    实际上它已经很好地工作了,唯一的事情是toggle()中的第一个函数总是首先被触发,所以如果搜索框已经可见并滑动,它应该立即触发slideUp函数,反之亦然。

    2 回复  |  直到 14 年前
        1
  •  7
  •   Community CDub    12 年前
    $('#searchboxtrigger').click( function(){
        $('#searchbox').slideToggle('fast');
      });
    
        2
  •  5
  •   Quintin Robinson    14 年前

    更改代码以包括 stop()

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

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