用jquery切换显示/隐藏

时间:2013-04-16 13:39:22

标签: javascript jquery html5

我需要使用jquery来切换两个要显示/隐藏的元素。我希望按钮说“隐藏文本”并在单击时更改为“显示文本”,当然我希望文本在单击按钮时从显示切换到隐藏。我有这个改变它一次,但我不知道如何改变它或切换它。

$(function() {
    $('button#1').click(function() {
        $('#one').fadeOut();
    });

    $('button#1').click(function() {
        $('button#1').html('Show Text');
    });
});

4 个答案:

答案 0 :(得分:6)

http://jsfiddle.net/fwdzm/1/

使用切换回调!

$(function() {
    var $btn1 = $('button#1').click(function() {
        $('#one').toggle('slow', function () {
            if ($(this).is(':visible')) {
                $btn1.html('Hide Text');
            } else {
                $btn1.html('Show Text');
            }
        });
    });
});

答案 1 :(得分:3)

$('button#1').click(function() {
    var $btn = $(this);
    $('#one').toggle('slow', function() {
       if ($(this).is(':visible')) {
          $btn.text('Hide');
       } else {
          $btn.text('Show Text');
       }
    });
});

答案 2 :(得分:0)

尝试这样的事情

$(function() {
  $('button#1').click(function(){
    if ($('#one').is(':visible')) {
      $('#one').fadeOut();
      $(this).html('Show Text');
    } else {
      $('#one').fadeIn();
      $(this).html('Hide Text');
    }
  });
});

答案 3 :(得分:0)

将当前状态保存在变量中,然后根据该变量显示或隐藏元素并更改按钮上的文本。

HTML

<button id="toggleBtn" type="button">Hide Text</button>
<span id="element">Your text is here</span>

JAVASCRIPT

var status = "shown";

function toggleElement() {
    if (status == "shown") {
        $('#element').hide();
        $("#toggleBtn").html('Show Text');
        status = "hidden";
    } else {
        $('#element').show();
        $("#toggleBtn").html('Hide Text');
        status = "shown";
    }
}