通过与来自外部的页面锚指展开一个隐藏的div(Expanding a hidden div by r

2019-07-29 22:06发布

我有一个脚本,隐藏(显示:无)一定的div在页面加载列表。 DIV内容只代表一书的描述,整个名单是某种书目。 每个div有一个ID,例如, “DIV1”, “DIV2” 等。

<ul>  
<li><div class="hidden" id="div1"></li>  
<li><div class="hidden" id="div1"></li>   
...  
</ul> 

而且还有一个菜单,其中包括锚链接,每一个这样的一个div的另一页:

<ul>  
<li><a href="bibl.html#div1"></li>  
<li><a href="bibl.html#div2"></li>  
...  
</ul>  

我要的是点击其他网页上的链接时,隐藏的div自动扩展。 我尝试了一些window.location.href的东西,但都无济于事 - 我的JS是弱呢。 据我了解的逻辑,应该把当前的URL,并检查它的“#”,然后搜索与部分在id属性右边的元素。 非常感谢善良的人。)

Answer 1:

你可以做这样的事情在目标页面上:

window.onload = function() {
    var hash = window.location.hash; // would be "#div1" or something
    if(hash != "") {
        var id = hash.substr(1); // get rid of #
        document.getElementById(id).style.display = 'block';
    }
};

从本质上讲,你检查的页面加载窗口的href是否有连接到它的哈希。 如果是的话,你会发现<div>和改变风格显示阻塞。



Answer 2:

您可以使用window.location.hash看到的哈希值。 从那里,你可以getElementById(hashValue) ,并显示它。



Answer 3:

谢谢! 我想通了,你可以添加此

location.href = '#' + id;

并且还具有滚动到称为div的位置的页面。



文章来源: Expanding a hidden div by referring with an anchor from external page