- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
所以。这是我的问题。我要在我的网站上添加一个模式,可以通过至少 20 个按钮切换,但它不会是相同的模式,它们有不同的内容。
我试过这个:
var btn = document.getElementById("myBtn,myBtn2");
1 按钮通过按“myBtn”切换模态,第二个按钮不能有相同的 id,因为那样只会弹出 1。代码:
var modal = document.getElementById('myModal');
var btn = document.getElementById("myBtn""myBtn2");
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";
}
}
CSS:
.modal {
display: none; /* Hidden by default */
position: fixed; /* Stay in place */
z-index: 10; /* Sit on top */
left: 0;
top: 0;
width: 100%; /* Full width */
height: 100%; /* Full height */
overflow: auto; /* Enable scroll if needed */
background-color: rgb(0,0,0); /* Fallback color */
background-color: rgba(0,0,0,0.4); /* Black w/ opacity */
}
.modal-content {
background-color: #fefefe;
margin: 15% auto; /* 15% from the top and centered */
padding: 20px;
border: 1px solid #888;
width: 80%; /* Could be more or less, depending on screen size */
}
.close {
color: #aaa;
float: right;
font-size: 28px;
font-weight: bold;
}
.close:hover,
.close:focus {
color: black;
text-decoration: none;
cursor: pointer;
}
html:
<div class="btn-more" id="myBtn">Open Modal</div>
这是完整的演示: http://www.w3schools.com/howto/howto_css_modals.asp
最佳答案
试试这个:
var modal = document.getElementById('myModal');
// Get the button that opens the modal
var btn = document.querySelectorAll(".toToggle");
// Get the <span> element that closes the modal
var span = document.getElementsByClassName("close")[0];
// When the user clicks on the button, open the modal
for(var i=0;i<btn.length;i++){
btn[i].addEventListener("click", function() {
modal.style.display = "block";
document.querySelector(".modal-content").innerHTML += "<span class='close'>×</span><p>Some text in the Modal.. giv by button with id="+this.id+"</p>";
var numId = (this.id).replace("myBtn","");
if(numId == 0) {
document.querySelector(".modal-content").innerHTML += "<div class='imblock'><img src='https://static.pexels.com/photos/28993/pexels-photo.jpg'/></div>";
}
else if(numId == 1) {
document.querySelector(".modal-content").innerHTML += "<div class='imblock'><img src='https://static.pexels.com/photos/50704/car-race-ferrari-racing-car-pirelli-50704.jpeg'/></div>";
}
else if(numId == 2) {
document.querySelector(".modal-content").innerHTML += "<div class='imblock'><img src='https://i.ytimg.com/vi/4-PDH6sKsA0/hqdefault.jpg'/></div>";
}
var span = document.getElementsByClassName("close")[0];
span.onclick = function() {
modal.style.display = "none";
document.querySelector(".modal-content").innerHTML = "";}
});
}
// When the user clicks anywhere outside of the modal, close it
window.onclick = function(event) {
if (event.target == modal) {
modal.style.display = "none";
document.querySelector(".modal-content").innerHTML = "";
}
}
.modal {
display: none; /* Hidden by default */
position: fixed; /* Stay in place */
z-index: 1; /* Sit on top */
left: 0;
top: 0;
width: 100%; /* Full width */
height: 100%; /* Full height */
overflow: auto; /* Enable scroll if needed */
background-color: rgb(0,0,0); /* Fallback color */
background-color: rgba(0,0,0,0.4); /* Black w/ opacity */
}
/* Modal Content/Box */
.modal-content {
background-color: #fefefe;
margin: 15% auto; /* 15% from the top and centered */
padding: 20px;
border: 1px solid #888;
width: 80%; /* Could be more or less, depending on screen size */
}
/* The Close Button */
.close {
color: #aaa;
float: right;
font-size: 28px;
font-weight: bold;
}
.close:hover,
.close:focus {
color: black;
text-decoration: none;
cursor: pointer;
}
.imblock img{
width:400px;
display:block;
margin:0;
padding:0:
}
<!-- Trigger/Open The Modal -->
<button class="toToggle" id="myBtn0">Open Modal-0</button>
<button class="toToggle" id="myBtn1">Open Modal-1</button>
<button class="toToggle" id="myBtn2">Open Modal-2</button>
<!-- The Modal -->
<div id="myModal" class="modal">
<!-- Modal content -->
<div class="modal-content">
</div>
</div>
关于javascript - 我如何在 document.getElementsByClassName 中添加 2 个 div,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41309596/
当我想检查 Explorer 是否存在 getElementsByClassName 时。我在代码下使用并且运行良好。 function getClass(obj) { if (document.
我正在尝试编写一个 PowerShell 脚本,以从网站上获取所有名为“newstitle”的类中的文本。 这就是我所拥有的: function check-krpano { $geturl=
我正在尝试在按钮单击时切换“覆盖”。在同一个类下添加这两个按钮并调用此函数后,JS 根本无法完成它。我不确定问题出在哪里: document.getElementsByClassName( 'trig
这个问题已经有答案了: Why does jQuery or a DOM method such as getElementById not find the element? (7 个回答) 已关闭
将尽力使其尽可能简洁。 使用 VB.Net 中的浏览器控件运行 Javascript 来循环浏览网页上的元素。 我已经让它大部分工作了,这将解决我过去几周的问题,我真的很感激这里的指点。 到目前为止:
我遇到了一个小问题,我想查询我的数据库,这样当用户使用自动完成功能时,我可以在名为 *Exist Act * 的另一列“td”上获取该产品的库存,现在好了使用这个新脚本,当我移出任何文本框时,它会更改
这个问题已经有答案了: Setting innerHTML vs. setting value with Javascript (8 个回答) 已关闭 6 年前。 我试图将日期附加到具有相同类的四个输
大家好,我想做这样的事情: function Div(data){ var A=document.getElementsByClassName('title')[data]; A.
我有一个网页爬虫,我正在使用 puppeteer 来爬行。我尝试使用 getElementsByClassName 获取 DOM 中的所有元素,但它返回了一个不稳定的集合。我期望收到一组 html 元
我有一个带有 TreeMap 片的网站,然后我使用 Ajax 删除该树并使用 javascript 插入数字。我用的是; document.getElementById("cut_oak_tree")
这个问题已经有答案了: Strange behavior when iterating over HTMLCollection from getElementsByClassName (3 个回答)
似乎每次都从闭包外部重新执行getElementsByClassName。 我可以通过将元素复制到数组中来解决这个问题,但我不知道是否有更好的方法。 这是一个代码示例: HTML
我用 VBA 抓取一些网站是为了好玩,我使用 VBA 作为工具。我使用 XMLHTTP 和 HTMLDocument(因为它比 internetExplorer.Application 更快)。 Pu
我一直在尝试使用以下指南进行简单的表单设置:https://www.w3schools.com/howto/howto_js_form_steps.asp. 我在表单内有三个带有 class="tab
我的代码不起作用,我不知道为什么。 var getElementsByClassName = function(className){ let result = []; let child =
我有一些元素属于“预览”类。我想让其中一个可以点击,所以首先我想通过 找出它在 HTML 集合中的索引号 console.log(document.getElementsByClassName("pr
我有一个问题,为什么我不想工作一段时间很累。我刚开始学js。非常感谢您的帮助
我正在使用 SnackJS API。我需要将一个事件附加到每个输入元素(文本框),类名称为“qty”。我无法为此使用 id 属性,因为它是动态生成的并且是唯一的,并且正在被其他东西使用: s
这个问题在这里已经有了答案: What do querySelectorAll and getElementsBy* methods return? (12 个答案) 关闭 8 年前。 我只想打印属
我想得到返回类名的长度 我想为一系列按钮添加事件监听器,它们都共享相同的类名。 removeButton = document.getElementsByClassName("removeButton
我是一名优秀的程序员,十分优秀!