Javascript 显示和隐藏功能
Javascript show and hide function
我正在尝试使用一些容器和文本执行 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>
如果有人能提供帮助,我将不胜感激。
您将两个处理程序绑定到同一个元素,因此每次单击时都会隐藏和显示。
尝试 toggle()
使其在 hide/show
之间交替
$(document).ready(function(){
$(".hairtext").click(function(){
$(".barbertext").toggle();
});
});
(需要添加 .
到 barbertext 选择器,.
用于 hairtext。#
用于 ids)
更正了现有代码:(根据您的需要 - 当我单击 "left" 容器时,"barbertext" 段消失)
<script>
$(document).ready(function(){
$("#left").click(function(){
$(".barbertext").hide();
});
$("#left").click(function(){
$(".barbertext").show();
});
});
</script>
改进:
- 您可以为容器和段落使用 ID 以提高性能
- 如果您想要容器点击时的 show/hide 行为,您可以使用 jquery 切换功能
我做了以下 fiddle 应该可以满足您的需要 http://jsfiddle.net/Lyd9hgh2/
$(document).ready(function(){
var hidden= false;
$("#left").click(function(){
if(hidden){
$(".barbertext").show();
hidden = false;
}else
{
$(".barbertext").hide();
hidden = true;
}
});
});
您的选择器有误:
$(".barbertext")
我不确定你想要什么,但当用户点击容器时,显示/隐藏关联的 div 似乎是你想要的。
我为此创建了一个 fiddle:
http://jsfiddle.net/BenoitNgo/0yL02nop/6/
我正在尝试使用一些容器和文本执行 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>
如果有人能提供帮助,我将不胜感激。
您将两个处理程序绑定到同一个元素,因此每次单击时都会隐藏和显示。
尝试 toggle()
使其在 hide/show
$(document).ready(function(){
$(".hairtext").click(function(){
$(".barbertext").toggle();
});
});
(需要添加 .
到 barbertext 选择器,.
用于 hairtext。#
用于 ids)
更正了现有代码:(根据您的需要 - 当我单击 "left" 容器时,"barbertext" 段消失)
<script>
$(document).ready(function(){
$("#left").click(function(){
$(".barbertext").hide();
});
$("#left").click(function(){
$(".barbertext").show();
});
});
</script>
改进:
- 您可以为容器和段落使用 ID 以提高性能
- 如果您想要容器点击时的 show/hide 行为,您可以使用 jquery 切换功能
我做了以下 fiddle 应该可以满足您的需要 http://jsfiddle.net/Lyd9hgh2/
$(document).ready(function(){
var hidden= false;
$("#left").click(function(){
if(hidden){
$(".barbertext").show();
hidden = false;
}else
{
$(".barbertext").hide();
hidden = true;
}
});
});
您的选择器有误:
$(".barbertext")
我不确定你想要什么,但当用户点击容器时,显示/隐藏关联的 div 似乎是你想要的。 我为此创建了一个 fiddle: http://jsfiddle.net/BenoitNgo/0yL02nop/6/