我有一个单页网站,根据点击的nav元素隐藏和显示元素。任何人都可以建议如何打开此页面,就好像已经点击了其中一个元素一样?我正试图在其他地方放置一个链接,打开页面并立即显示'gigs'元素。
该网站是www.brookebentham.co.uk
答案 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();
});