[英]Adding 3 onclicks to one page
我正在尝试将 3 onclick 弹出窗口添加到一页。 但似乎只要我添加第二个,第一个就会停止工作。 我将它们重新命名为不同的名称,但仍然无法正常工作。 请帮忙。
<script> // When the user clicks on div, open the popup function myFunction() { var popup = document.getElementById("myPopup"); popup.classList.toggle("show"); } </script> <script> // When the user clicks on div, open the popup function myFunction() { var popup = document.getElementById("mypopup"); popup.classList.toggle("show"); } </script>
<span class="tooltip" onclick="myFunction()"> <div class="amount">$234.41</div> <span class="tooltiptext" id="myPopup">This is how much money our community has raised to help provide meals and support to animal charities in our local communities.</span> </span> <:----------------------------------------------------------------------------------------------------------------------------------- Fur Baby Of The Month --> <span class="tooltips" onclick="myFunction()"> <div class="furbm"> <img src="https.//www.capebretoncares.com/images/icons/amazon:png"> </br> </div> <span class="tooltipstext" id="mypopup">Fur Baby Of The Month </br> <img src="https.//www.capebretoncares.com/images/search-icons/duck.png"> </br> congratulations "Fluffy" </span> </span>
您的 span 内容无效 HTML - 您不能将 div 包装在 span 中 - </br>
是错误的方式 - 如果您想要 XHTML 斜杠,则应该是<br/>
这是推荐的方式
tgt.closest(".parentClass").querySelector(".popupClass")
访问弹出窗口在这里,我使用了数据属性——如您所见,在这种情况下,弹出窗口是 span 还是 div 并不重要。
window.addEventListener("load", function() { // on page load document.getElementById("container").addEventListener("click", function(e) { // clicking anything in the container const tgt = e.target; if (tgt.classList.contains("tooltip")) { // we clicked a tooltip const show = tgt.dataset.pop; // getting the data-pop content document.getElementById(show).classList.toggle("hide"); } }) })
.hide { display: none; }
<div id="container"> <span class="tooltip" data-pop="myPopup1">Look</span> <div class="amount">$234.41</div> <span class="tooltiptext hide" id="myPopup1">This is how much money our community has raised to help provide meals and support to animal charities in our local communities.</span> <hr/> <span class="tooltip" data-pop="myPopup2">Look</span> <div class="furbm"> <img src="https://www.capebretoncares.com/images/icons/amazon.png"> </div> <div class="tooltipstext hide" id="myPopup2">Fur Baby Of The Month <img src="https://www.capebretoncares.com/images/search-icons/duck.png"> congratulations "Fluffy" </div> </div>
如果你想在点击其他地方时关闭,你可以再次使用 addEventListener 并测试目标不是弹出窗口而不是弹出链接,然后关闭所有打开的弹出窗口。 该代码有点复杂
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.