代码之家  ›  专栏  ›  技术社区  ›  certainlyakey

通过引用外部页面中的锚来扩展隐藏的DIV

  •  1
  • certainlyakey  · 技术社区  · 17 年前

    我有一个脚本,它在页面加载时隐藏(显示:无)列表中的某些分隔符。DIV目录代表一本书的描述,整个列表是某种书目。每个分区都有一个ID,例如“div1”、“div2”等。

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

    还有另一个带有菜单的页面,它包含到每个这样的分区的锚定链接:

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

    我希望隐藏的DIV在单击另一页上的链接时自动展开。我尝试了一些window.location.href的东西,但是没有用——我的JS还很弱。正如我理解的逻辑,它应该取当前的URL并检查它的“”,然后在id属性中搜索一个部分在右边的元素。谢谢大家。)

    3 回复  |  直到 15 年前
        1
  •  6
  •   Paolo Bergantino    17 年前

    您可以在目标页面上执行类似的操作:

    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> 并将样式显示更改为块。

        2
  •  0
  •   peirix    17 年前

    你可以使用 window.location.hash 查看哈希值。 从那里你可以 getElementById(hashValue) 并展示它。

        3
  •  0
  •   certainlyakey    17 年前

    谢谢您!我知道你可以加这个

    location.href = '#' + id;
    

    并将页面滚动到所引用的分区的位置。

    推荐文章