我正在一个一页网站上工作,在该网站上我有多个div显示内容:无;

我知道如何使它们在点击时可见和隐藏,但是当有人更改URL时我想显示或隐藏div

$(document).ready(function(){

   var tabId = location.hash; // will look something like "#h-02"

 if(tabId){
   $(tabId).show(); // this will fired only when url get hash
   $(tabId).siblings().hide(); // this will show only targeted tab
                               // others get hidden
 }


从外部调用时此代码有效,并且页面会重新加载,但不重新加载就无法运行

例如:index.html#about

如果我更改联系方式并输入,我将不会更改,除非我刷新页面

有人可以帮我弄这个吗

最佳答案

您将必须监听hashchange事件,因为仅当哈希值发生变化时浏览器不会重新加载

$(document).ready(function(){

    $(window).on('hashchange', function() {

        var tabId = location.hash;

        if(tabId){
            $(tabId).show();
            $(tabId).siblings().hide();
        }

    }).trigger('hashchange');

});

关于javascript - 从网址调用dv时使隐藏的div可见,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/25887182/

10-12 02:22