jQuery text() 在toggle() 上发生变化?

发布于 2024-09-14 14:35:53 字数 602 浏览 2 评论 0原文

我想制作一个根据其他元素可见性更改切换链接文本的脚本。

因此,当 #form 可见时,我希望 #form-container 的文本为“隐藏...”,而当它隐藏时,我希望文本为“显示...”。

我尝试过这一行 - if($('#form').is(":visible")){ 另一种方式: if($('#form').is(":visible") == "true "){ - 但它也不起作用。

怎么了?如何在每次切换另一个项目时更改文本?

$('.toggle').click(
    function()
    {
        $('#form').slideToggle();

            if($('#form').is(":visible")){
                $('#form-container a').text("Hide form container");
            }
            else {
                $('#form-container a').text("Show form container");  
            } 
    });

谢谢。

I want to make a script that is changing toggle link text depending on others element visibility.

So while #form is visible I want the #form-container a text to be "Hide...", and while it's hidden I want the text to be "Show...".

I've tried this line - if($('#form').is(":visible")){ another way: if($('#form').is(":visible") == "true"){ - but it also doesn't work.

What's wrong? How to change text every time another item is toggled?

$('.toggle').click(
    function()
    {
        $('#form').slideToggle();

            if($('#form').is(":visible")){
                $('#form-container a').text("Hide form container");
            }
            else {
                $('#form-container a').text("Show form container");  
            } 
    });

Thanks.

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

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

发布评论

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

评论(2

千紇 2024-09-21 14:35:53

动画时它始终可见,您可以在 中检查可见性.slideToggle() 回调,以便它检查动画何时完成,如下所示:

$('.toggle').click(function() {
  $('#form').slideToggle(function() {
    $('#form-container a').text(
      $(this).is(':visible') ? "Hide form container" : "Show form container"
    );
  });
});

It'll always be visible while animating, you can check the visibility in the .slideToggle() callback so it checks when it finishes animating, like this:

$('.toggle').click(function() {
  $('#form').slideToggle(function() {
    $('#form-container a').text(
      $(this).is(':visible') ? "Hide form container" : "Show form container"
    );
  });
});
深居我梦 2024-09-21 14:35:53

您可以在表单元素上使用切换。

$("#form").slideToggle(
  function () {
    //Hide
  },
  function () {
    //Show
  }
);

来源: http://api.jquery.com/toggle/

You can use toggle on the form element.

$("#form").slideToggle(
  function () {
    //Hide
  },
  function () {
    //Show
  }
);

source: http://api.jquery.com/toggle/

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文