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

发布于 2024-10-01 06:28:42 字数 549 浏览 0 评论 0原文

嘿伙计们, 我喜欢 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 函数,反之亦然。

知道我必须做什么才能让它发挥作用吗?

hey guys,
i love the jquery toggle function. however currently i'm facing a little issue where i don't know how to solve it in the best way.

i'm having a div called #searchbox which is depending on a user-setting either hidden or visible.

a toggle function that is triggered if i click on a button, should .slideDown() the #searchbox or .slideUp() the searchbox.

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

actually it works great already, only thing is that the first function inside toggle() always gets fired first, so if the #searchbox is already visible and slidedDown it should immediately trigger the slideUp function and vice versa.

any idea what i have to do to make that work?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

伴梦长久 2024-10-08 06:28:45
$('#searchboxtrigger').click( function(){
    $('#searchbox').slideToggle('fast');
  });
$('#searchboxtrigger').click( function(){
    $('#searchbox').slideToggle('fast');
  });
℉服软 2024-10-08 06:28:45

更改代码以包含 stop()

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

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

Change your code to include stop()

Description: Stop the currently-running animation on the matched elements.

//if already visible - slideDown
//if not visible - slideUp
$('#searchboxtrigger').toggle(
  function(){
    $('#searchbox').stop(true).slideDown('fast');
  },
  function(){
    $('#searchbox').stop(true).slideUp('fast');
  }
);
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文