如何使用jquery制作显示/隐藏切换按钮

时间:2011-08-17 19:31:46

标签: jquery html button hide show

您好我一直试图用jquery制作一个显示/隐藏切换按钮,但我只能找到显示div的按钮,但没有隐藏它的按钮

下面的

是我发现的一个显示div的例子,但除非你点击另一个按钮,否则它不会让你隐藏它。我希望能够使用相同的按钮来显示和隐藏div。我的页面上有多个div,并且希望能够使用jquery而不是javascript。

<html>
 <head>
<script src="http://code.jquery.com/jquery-latest.js"></script>
<script>
    $(document).ready(function(){

        $(".buttons").click(function () {
        var divname= this.value;
          $("#"+divname).show("slow").siblings().hide("slow");
        });

      });
</script> 
     </head>
        <body>


 <div id="buttonsDiv"> 

  <input type="button" id="button1" class="buttons" value="div1"></input>
  <input type="button" id="button2" class="buttons" value="div2"></input>
  <input type="button" id="button3" class="buttons" value="div3"></input>
  <input type="button" id="button4" class="buttons" value="div4"></input>

  </div>

   <div>

     <div id="div1" style="display:none">
    Hello World
     </div>

     <div id="div2" style="display:none">
       Test
   </div>

        <div id="div3" style="display:none">
          Another Test
  </div>

     <div id="div4" style="display:none">
     Final Test
     </div>


         </div>


     </body>
    </html>

8 个答案:

答案 0 :(得分:5)

试试这个

$(".buttons").click(function () {
  var divname= this.value;
  $("#"+divname).slideToggle().siblings().hide("slow");
});

答案 1 :(得分:4)

更简单的是使用控件自己的切换功能。

$('.toggleButtons').click(function()
{
    $('control1, control2, ...').toggle();
});

答案 2 :(得分:1)

使用以下方法切换脚本:

<script>
    $(document).ready(function(){
        $(".buttons").click(function () {
           $("#buttonsDiv div").hide()
          var divname= this.value;
          $("#"+divname).show();
        });
    });
</script> 

答案 3 :(得分:1)

Demo

$(document).ready(function(){
    $(".buttons").click(function () {
    var div= $("#"+this.value);
          div.toggle("slow").siblings().hide("slow");
    });
});

应该这样做。

编辑:

切换的功劳归于@AtoMerZ。他先拥有它。

答案 4 :(得分:0)

这是一个非常简单的脚本:

$('.buttons').click(function()
{
    var elementToShowOrHide = $('#' + $(this).val());

    if(elementToShowOrHide.is(':visible'))
       elementToShowOrHide.hide();
    else
       elementToShowOrHide.show();
});

然后每次点击按钮都会切换另一个元素的可见性。

答案 5 :(得分:0)

jQuery .toggle()方法可以帮助你:

$(".buttons").click(function () {
  var divname= this.value;
  $("#"+divname).toggle();
});

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

答案 6 :(得分:0)

您可以使用toggle方法显示和隐藏元素。这将单独显示/隐藏每个div:

$(".buttons").click(function () {
  $("#" + this.value).toggle("slow");
});

答案 7 :(得分:0)

假设您希望在显示新的div时隐藏所有其他$('.buttons').click( function() { $('div > div').hide(); $('div > div').eq($(this).index()).show(); });

{{1}}

JS Fiddle demo