JQuery HideAllShowOne +链接打开DIV

时间:2015-01-06 11:32:23

标签: javascript jquery html

我只使用HideAllShowOne来使用这个JQuery:

<script type="text/javascript" language="JavaScript"><!--
function HideContent(d) {
document.getElementById(d).style.display = "none";
}
function ShowContent(d) {
document.getElementById(d).style.display = "block";
}
function HideAllShowOne(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 = "1 2 3 4 5 6 7 8 9 10 11 12 13 14";

//-------------------------------------------------------------
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);
}
//--></script>

使用此HTML

<div class="heading marg_none">
    <h5><a href="javascript:HideAllShowOne('2')">Step 2. Adding Services</a></h5>
</div>
<div id="2" style="display: none;">         
     <p>
         Watch the video for full details.            
     </p>
</div>

这适用于在我的网站上打开常见问题解答样式页面中的每个部分,但我希望能够从网站上的其他位置链接到每个问题并让它自动滚动到该DIV并打开它。这可能吗?

感谢。

1 个答案:

答案 0 :(得分:0)

网址必须如下:http://www.aaa.com/faq#1(第一个问题)哈希显示第一个问题。您可以检查此代码下面的URL是否有任何哈希:

if(window.location.hash) {
  // Has exist
} else {
  // Hash doesn't exist
}

然后你应该从这个代码下面的URL获取哈希:

var url = "http://www.aaa.com/faq#1";
var hash = url.substring(url.indexOf("#")+1);

此示例中此哈希值应为“1”。最后一步是滚动到div:

window.location.hash = hash;