我正在寻找一种方法来使我的想法工作。 我有几个团队成员,我希望他们能够在我逐个点击它们时打开。所以基本上,连续4张图片,如果我点击第一张图片,它展开(显示一个先前隐藏的元素),但其他图片保持关闭状态。如果我点击第二张照片,现在第一张和第二张照片都打开了(因为我之前打开了第一张照片),但其余2张照片仍然关闭。Javascript多个元素相同的功能,一次一个
我想用单个函数来实现,因为我想保持代码的干净。 我做了单独的函数,为所有4个团队成员分开了元素ID,但它现在可以工作,但是现在,当我想要一次使用20个元素的代码时,这很棘手,因为我不想为每个新元素保留垃圾函数和元素会员。
目前的代码不起作用,出于某种原因,请看看。
<script>
function ShowText() {
var itemtext = document.getElementByClass('aboutusteamitemtext');
var itemtitle = document.getElementByClass('aboutusteamitemimgtext');
var itembg = document.getElementByClass('aboutusteamitemimgbg');
if (itemtext.style.display === "block") {
itemtext.style.display = "none";
itemtitle.style.background = "#50a8ff";
itembg.style.backgroundImage = "url('http://www.blabla.com/wp-content/icons/moreinfo.png')";
} else {
itemtext.style.display = "block";
itemtitle.style.background = "#E8443D";
itembg.style.backgroundImage = "url('http://www.blabla.com/wp-content/icons/hideinfo.png')";
}
};
</script>
<div class="aboutusteam">
<div class="aboutusteamitem">
<div class="aboutusteamitemimg" onclick="ShowText()">
<img src="http://www.blabla.com/wp-content/uploads/2013/06/davefake1.jpg">
<div class="aboutusteamitemimgbg"></div>
<div class="aboutusteamitemimgtext">
<h4>David Jones</h4>
Marketing Director</div>
</div>
<div class="aboutusteamitemtext">Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Donec quam felis, ultricies nec, pellentesque eu, pretium quis, sem. Nulla consequat massa quis enim.</div>
</div>
<div class="aboutusteamitem">
<div class="aboutusteamitemimg" onclick="ShowText()">
<img src="http://www.blabla.com/wp-content/uploads/2013/06/thomasfake1.jpg">
<div class="aboutusteamitemimgbg"></div>
<div class="aboutusteamitemimgtext">
<h4>Thomas Nguen</h4>
Operations Director</div>
</div>
<div class="aboutusteamitemtext">Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Donec quam felis, ultricies nec, pellentesque eu, pretium quis, sem. Nulla consequat massa quis enim.</div>
</div>
<div class="aboutusteamitem">
<div class="aboutusteamitemimg" onclick="ShowText()">
<img src="http://www.blabla.com/wp-content/uploads/2013/06/saya2.jpg">
<div class="aboutusteamitemimgbg"></div>
<div class="aboutusteamitemimgtext">
<h4>Sayaka Olivie</h4>
Senior Designer</div>
</div>
<div class="aboutusteamitemtext">Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Donec quam felis, ultricies nec, pellentesque eu, pretium quis, sem. Nulla consequat massa quis enim.</div>
</div>
<div class="aboutusteamitemlast">
<div class="aboutusteamitemimg" onclick="ShowText()">
<img src="http://www.blabla.com/wp-content/uploads/2013/06/philfake1.jpg">
<div class="aboutusteamitemimgbg"></div>
<div class="aboutusteamitemimgtext">
<h4>Phillip Ivetkovich</h4>
Senior Designer</div>
</div>
<div class="aboutusteamitemtext">Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Donec quam felis, ultricies nec, pellentesque eu, pretium quis, sem. Nulla consequat massa quis enim.</div>
</div>
</div>
请注意它是'getElementsByClassName'。检查这个小提琴http://jsfiddle.net/r9JTG/1/ – karthikr
我忘了添加CSS,这里是完整的小提琴。 http://jsfiddle.net/r9JTG/2/ 至少现在它总是打开第一个。如何让每个人都打开相应的代码并尽可能保持代码清洁? – Romtim