每当url hash更改时执行if语句

时间:2016-04-25 04:37:11

标签: javascript jquery hash

我使用easytab创建标签页,因此切换标签时页面不会刷新,但我需要创建一个隐藏特定标签按钮的功能。

因此对于javascript,我已经为url hash

构建了一个检查器
//hiding 30d/90d/1y button for feed 

var FeedPanelchecker = location.hash;
        if(FeedPanelchecker == "#panel-Feeds"){
            $("#30Days").css("display","none");
            $("#12Weeks").css("display","none");
            $("#12Months").css("display","none");
        }
});

但是,如果哈希标签发生变化,我不知道如何在每次使用.change()时将其设为执行?但它似乎只适用于输入类型元素

2 个答案:

答案 0 :(得分:2)

  

使用onhashchange Event在窗口的哈希值发生变化时触发



window.addEventListener("hashchange", function() {
  var FeedPanelchecker = location.hash;
  if (FeedPanelchecker == "#panel-Feeds") {
    $("#30Days").css("display", "none");
    $("#12Weeks").css("display", "none");
    $("#12Months").css("display", "none");
  };
});




答案 1 :(得分:1)

您可以在事件

之后触发easytab上的代码
    $('#tab-full-container').bind('easytabs:after', function() {
    var FeedPanelchecker = location.hash;
            if(FeedPanelchecker == "#panel-Feeds"){
                $("#30Days").css("display","none");
                $("#12Weeks").css("display","none");
                $("#12Months").css("display","none");
            }
    });

})