打开页面,好像单击导航元素一样?

时间:2014-03-15 10:43:46

标签: javascript php jquery html

我有一个单页网站,根据点击的nav元素隐藏和显示元素。任何人都可以建议如何打开此页面,就好像已经点击了其中一个元素一样?我正试图在其他地方放置一个链接,打开页面并立即显示'gigs'元素。

该网站是www.brookebentham.co.uk

2 个答案:

答案 0 :(得分:2)

使用哈希

http://www.site.com/#tab/firstTab

然后在页面加载或onhashchange event上,查看哈希并根据它做一些事情

$(document).ready(hashChanged);
window.onhashchange = hashChanged;

function hashChanged() {
   var hash = window.location.hash;
   var tab = hash.replace("tab/","");
   $("#"+tab).show();
}

或者您可以使用history.pushState(如果支持)并只检查路径

//assume something like as url http://www.site.com/tab/firstTab

//history has changed (ie on using pushSate)
window.onpopstate = function(){
   //path will be "/tab/firstTab"
   var path = window.location.pathname;
   var tab = path.replace("/tab/","");
   $("#"+tab).show();
};

$("#firstTab").click(function(e){
   e.preventDefault();
   history.pushState({},"Title (not really used","/tab/firstTab");
});

要完全使用pushState,您需要后端进行URL重写,例如apache的mod_rewrite将所有网址指向您的一页。

答案 1 :(得分:0)

试试这个

$(window).on("load", function(){
    $("#gig").show();
});