简体   繁体   English

如何在一个页面上显示多个JavaScript隐藏/显示

[英]How make multiple javascript hide/show work on one single page

Please can you tell me how to change this code so that the user can click on the first read me to see just the sugar text and separately click on the second read me to see the toast text. 请您告诉我如何更改此代码,以便用户可以单击第一个自述文件仅查看糖文本,而单独单击第二个自述文件以查看吐司文本。

It is driving me mad - the display texts have different names but using this code, both read me clicks show the toast comment. 这让我发疯了-显示文本具有不同的名称,但是使用此代码,都请我点击一下以显示吐司注释。

I'm a non-techie with no code knowledge so please reply in simple language! 我是非技术人员,没有代码知识,因此请以简单的语言回复!

<p><script language="javascript"> 
function toggle() {
 var ele = document.getElementById("sugar");
 var text = document.getElementById("displayTextsugar");
 if(ele.style.display == "block") {
      ele.style.display = "none";
  text.innerHTML = "read more";
   }
 else {
  ele.style.display = "block";
  text.innerHTML = "hide";
 }
} 
</script>   <a href="javascript:toggle();" id="displayTextsugar">read sugar more</a> &lt;== click Here</p>
<p>&nbsp;</p>
<div style="display: none" id="sugar">
<h1>Sugar in my tea but none in coffee please</h1>
</div>
<script language="javascript"> 
function toggle() {
 var ele = document.getElementById("toast");
 var text = document.getElementById("displayTexttoast");
 if(ele.style.display == "block") {
      ele.style.display = "none";
  text.innerHTML = "read more";
   }
 else {
  ele.style.display = "block";
  text.innerHTML = "hide";
 }
} 
</script>
<p><a href="javascript:toggle();" id="displayTexttoast">read toast more</a> &lt;== click Here</p>
<div style="display: none" id="toast">
<h1>brown toast with marmite please</h1>
</div>

Since your 2 different codes, shared the same name, only the second one is being called (the first one gets overwritten). 由于您的2个不同的代码共享相同的名称,因此仅调用第二个代码(第一个被覆盖)。

It could be easier to use parameters to make this work, i added a sender and a target to your toggle function, that you can then use with sender (the element that is being clicked) and the target (the element that should hide, or show) 我可以在参数中添加一个发送器和一个目标,以便更轻松地使用参数来完成这项工作,然后可以将其与发送器(被单击的元素)和目标(应隐藏的元素)一起使用,或者节目)

The only changes in your toggle method, is that i am using the parameter to get the elements, so you are now using 1 "code" for both clicks ;) 切换方法的唯一变化是,我正在使用参数来获取元素,因此您现在两次单击均使用1个“代码”;)

 function toggle(sender, target) { var ele = document.getElementById(target); var text = sender; if (ele.style.display == "block") { ele.style.display = "none"; text.innerHTML = "read more"; } else { ele.style.display = "block"; text.innerHTML = "hide"; } } 
 <p><a href="#" onclick="javascript:toggle(this, 'sugar');" id="displayTextsugar">read sugar more</a> &lt;== click Here</p> <p>&nbsp;</p> <div style="display: none" id="sugar"> <h1>Sugar in my tea but none in coffee please</h1> </div> <p><a href="#" onclick="javascript:toggle(this, 'toast');" id="displayTexttoast">read toast more</a> &lt;== click Here</p> <div style="display: none" id="toast"> <h1>brown toast with marmite please</h1> </div> 

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM