这里是我的代码:不是以#工作jQuery的具体内容加载链接
如果您导航到www.example.com/page.html#example-name1
而不必加载页面首先它会显示整个页面,而不是所请求的内容。
但是,如果您在页面加载后导航到链接,它将起作用并显示所需的内容。
这很奇怪。有没有人有解决这个问题?
这里是我的代码:不是以#工作jQuery的具体内容加载链接
如果您导航到www.example.com/page.html#example-name1
而不必加载页面首先它会显示整个页面,而不是所请求的内容。
但是,如果您在页面加载后导航到链接,它将起作用并显示所需的内容。
这很奇怪。有没有人有解决这个问题?
我是比较相信你不能在的jsfiddle显示功能,但是,如果你是一个正确的页面上,page.html中#示例名1在地址栏应导致你想要的功能显示。然而,为了使它在合适的页面上工作,你必须做你的代码所暗示的,即在hashchange上运行代码。这是为了确保在URL更改时显示特定的内容。
您应该检查哈希onload
和onhashchange
// On page load
$(document).ready(function(){
// When the hash (#something) changes
window.onhashchange = function() {
doAction();
};
doAction();
function doAction() {
// get the current hash minus '#'
var profileId = window.location.hash.substr(1);
if(profileId != '') {
// hide all profiles
$('.profile').hide();
// show only the appropriate profile
$('#' + profileId).show();
}
}
});
你需要运行在页面加载代码以及对哈希变化,但是也可以考虑到一些浏览器触发onhashchange在页面加载,如果有哈希iirc。 – 2013-02-25 20:24:06
你可以给我一个这样的例子,因为我对JS/jQuery非常新颖 – Simon 2013-02-25 20:27:29