【发布时间】:2015-10-16 09:26:53
【问题描述】:
我这里有一些脚本可以在单击时显示和隐藏 div。现在我需要的是一次只显示一个 div。我有一个控制它们的代码,但它不工作我不知道很多 javascript。
这是显示/隐藏功能的第一个示例,可以同时完成而不隐藏另一个divs。
小提琴HERE
HTML:
<a href="javascript:ReverseDisplay('uniquename')">
Click to show/hide.
</a>
<div id="uniquename" style="display:none;">
<p>Content goes here.</p>
</div>
<a href="javascript:ReverseDisplay('uniquename1')">
Click to show/hide.
</a>
<div id="uniquename1" style="display:none;">
<p>Content goes here.</p>
</div>
脚本:
function HideContent(d) {
document.getElementById(d).style.display = "none";
}
function ShowContent(d) {
document.getElementById(d).style.display = "block";
}
function ReverseDisplay(d) {
if (document.getElementById(d).style.display == "none") {
document.getElementById(d).style.display = "block";
} else {
document.getElementById(d).style.display = "none";
}
}
function HideAllShowOne(d) {
// Between the quotation marks, list the id values of each div.
var IDvaluesOfEachDiv = "idone idtwo uniquename1 uniquename";
//-------------------------------------------------------------
IDvaluesOfEachDiv = IDvaluesOfEachDiv.replace(/[,\s"']/g," ");
IDvaluesOfEachDiv = IDvaluesOfEachDiv.replace(/^\s*/,"");
IDvaluesOfEachDiv = IDvaluesOfEachDiv.replace(/\s*$/,"");
IDvaluesOfEachDiv = IDvaluesOfEachDiv.replace(/ +/g," ");
var IDlist = IDvaluesOfEachDiv.split(" ");
for(var i=0; i<IDlist.length; i++) { HideContent(IDlist[i]); }
ShowContent(d);
}
我创建的另一个小提琴可以满足我的需要,但脚本似乎无法正常工作。小提琴here
感谢@Abhas Tandon,在我的代码中找到了解决方案
Fiddle here IDvaluesOfEachDiv 中的额外 ID 似乎在代码中出现了一些错误。
【问题讨论】:
-
你在寻找什么浏览器支持
-
抱歉,
HideAllShowOne应该做什么? -
看起来您在
IDvaluesOfEachDiv中有一些额外的ID 检查jsfiddle.net/eqs6dy6f/3 -
我认为那将显示一个部分然后隐藏当前打开的 div。但它不起作用我会附上代码的参考页。
标签: javascript html css