首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Javascript弹出框

Javascript弹出框
EN

Stack Overflow用户
提问于 2016-06-28 23:30:52
回答 3查看 184关注 0票数 0

我在我的网站上创建了一个弹出框。

我将弹出框添加到3个单独的按钮,由于某些原因,弹出框只适用于第一个按钮。

我删除了第一个按钮上的id标签: id="myBtn“,然后弹出窗口在我的第二个按钮上工作,但仍然不能在我的第三个按钮上工作

在弹出框中,我也希望有一个链接,将用户定向到联系人表单,当用户点击该链接时,弹出窗口应该关闭。

以下是javascript代码:

代码语言:javascript
复制
var modal = document.getElementById('myModal');

var btn = document.getElementById("myBtn");

var span = document.getElementsByClassName("close")[0];

btn.onclick = function() {
    modal.style.display = "block";
}

span.onclick = function() {
    modal.style.display = "none";
}

window.onclick = function(event) {
    if (event.target == modal) {
        modal.style.display = "none";
    }
}

下面是html代码:

代码语言:javascript
复制
<footer class="panel-footer"><div class="btn btn-block btn-lg btn-default"><button id="myBtn">Sign up now</button>
<div id="myModal" class="modal">
<div class="modal-content">
<div class="modal-header">
<span class="close">×</span>
<h2><img src="http://localhost:8383/homepage/img/logo.png" style="width:250px"></h2>
</div>
<div class="modal-body">
<p>Please contact us via the <a href="#">contact form</a> as our sign up system is currently under construction</p>
<p>Sorry for any inconvenience &nbsp; :) </p>
</div>
<div class="modal-footer">
<h3 align="center">SUPP Software LTD.</h3>
</div>
</div>
</div>
</div></footer>
EN

回答 3

Stack Overflow用户

发布于 2016-06-28 23:35:08

您在所有按钮上具有相同的ID。document.getElementById始终只返回一个元素。ID必须是唯一的。将其更改为类,并将事件绑定到document.getElementsByClassName返回的每个元素

票数 1
EN

Stack Overflow用户

发布于 2016-06-28 23:36:55

如果你给所有的按钮一个id为myBtn,那么它失败是有道理的,因为你设置了btn = document.getElementById('myBtn'),它会找到第一个id为myBtn的元素。

票数 0
EN

Stack Overflow用户

发布于 2016-06-28 23:49:14

示例1:

使用类名,

代码语言:javascript
复制
   <html>
    <head>
        <title></title>
    </head>
    <body>
        <button class="b">Button1</button>
        <button class="b">Button2</button>
        <button class="b">Button3</button>
        <script>
             var btn = document.getElementsByClassName("b")[0];
             btn.addEventListener("click",function(){
                 alert("Button1");
             })
              var btn = document.getElementsByClassName("b")[1];
             btn.addEventListener("click",function(){
                 alert("Button2");
             })
              var btn = document.getElementsByClassName("b")[2];
             btn.addEventListener("click",function(){
                 alert("Button3");
             })
        </script>
    </body>
    </html>

示例2:

有了Id,

代码语言:javascript
复制
   <html>
    <head>
        <title></title>
    </head>
    <body>
        <button id="btn1">Button1</button>
        <button id="btn2">Button2</button>
        <button id="btn3">Button3</button>
        <script>
             var btn = document.getElementById("btn1");
             btn.addEventListener("click",function(){
                 alert("Button1");
             })
              var btn = document.getElementById("btn2");
             btn.addEventListener("click",function(){
                 alert("Button2");
             })
              var btn = document.getElementById("btn3");
             btn.addEventListener("click",function(){
                 alert("Button3");
             })
        </script>
    </body>
    </html>

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38080434

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档