Javascript显示和隐藏功能

时间:2015-01-25 18:26:03

标签: javascript jquery html show-hide

我正在尝试使用一些容器和文本来执行show / hide功能。 当我点击某个容器时,我想隐藏一个段落。目前,当我点击"left"容器时,我正试图解决问题,段落"barbertext"将消失。

<p class="hairtext" style="color:red">We are Thairapy, an independent hair <br> and beauty Salon located in the heart<br> of Exeter. At Thairapy, we care about<br> our clients and our main aim is to go<br> that extra mile and look after every <br> one of our happy customers.</p>

    <p class="beautytext" style="color:red">Our beautician, Shail Dutt has over<br> 10 years of experience within the beauty<br> industry. Shail is a very dedicated and<br> passionate person, she strives to make<br> her clients feel loved and special. </p>

    <p class="barbertext" style="color:red">A decent Mens haircut needn't cost the<br>Earth. We offer top quality Men's haircuts<br> from £7. </p>

    <div class="container" id= "left" >
        <h1 style="color:white"><a>HAIR</a></h1>
    </div>

    <div class= "container" id= "center">
        <h1 style="color:white"><a>BEAUTY<a/></h1>
    </div>

    <div class="container" id= "right">
        <h1 style="color:white"><a>BARBERS</a></h1>
    </div>
</div>

我正在使用的Javascript是:

<script>
$(document).ready(function(){
  $("#hairtext").click(function(){
    $("barbertext").hide();
  });
  $("#hairtext").click(function(){
    $("barbertext").show();
  });
});
</script>

如果有人能提供帮助,我将非常感激。

4 个答案:

答案 0 :(得分:3)

您将两个处理程序绑定到同一个元素,因此每次单击时都会隐藏和显示。

尝试toggle(),以便在hide / show

之间切换
$(document).ready(function(){
  $(".hairtext").click(function(){
    $(".barbertext").toggle();
  });
});

需要将.添加到barbertext选择器,并将.添加到hairtext。#用于ID

答案 1 :(得分:1)

我做了以下小提琴,应该做你需要的http://jsfiddle.net/Lyd9hgh2/

$(document).ready(function(){
    var hidden= false;
  $("#left").click(function(){
      if(hidden){
          $(".barbertext").show();
          hidden = false;
      }else
      {
          $(".barbertext").hide();
          hidden = true;
      }

  });
});

答案 2 :(得分:0)

更正了现有代码:(根据您的需要 - 当我点击&#34;左&#34;容器,段落&#34; barbertext&#34;消失时)

<script>
    $(document).ready(function(){
      $("#left").click(function(){
        $(".barbertext").hide();
      });
      $("#left").click(function(){
        $(".barbertext").show();
      });
    });
    </script>

改进措施:

  1. 您可以将Ids用于容器和段落以提高性能
  2. 如果要在容器上单击显示/隐藏行为,可以使用jquery切换功能

答案 3 :(得分:0)

您的选择器出错:

$(".barbertext")

我不确定你想要什么,但是当用户点击容器时,似乎你想要显示/隐藏相关的div。 我为此创造了一个小提琴: http://jsfiddle.net/BenoitNgo/0yL02nop/6/