Jquery url中的Ajax哈希
我使用的代码来自 在URL中,这很奇怪;如果我要单击home,它将转到Jquery url中的Ajax哈希,jquery,html,ajax,Jquery,Html,Ajax,我使用的代码来自 在URL中,这很奇怪;如果我要单击home,它将转到example.tld/home#,但我希望后面有散列示例.tld/#home。如果我转到联系人页面,它将显示为/home\co…不显示整个单词。(联系)。当我更改页面时,我希望#联系替换#主页。另外,我如何在加载时登录到不同的页面,而不是再次登录到#home?示例:点击Example.tld/#contact,进入#contact页面 另外…以下是我从中修改的代码: //检查URL中的哈希值 var hash=window.
example.tld/home#
,但我希望后面有散列<代码>示例.tld/#home。如果我转到联系人页面,它将显示为/home\co
…不显示整个单词。(联系)。当我更改页面时,我希望#联系
替换#主页
。另外,我如何在加载时登录到不同的页面,而不是再次登录到#home
?示例:点击Example.tld/#contact
,进入#contact
页面
另外…以下是我从中修改的代码:
//检查URL中的哈希值
var hash=window.location.hash.substr(1);
var href=$('nav ul li a')。每个(函数(){
var href=$(this.attr('href');
如果(hash==href.substr(0,href.length-5)){
var toLoad=hash+'.html#main content';
$(“#内容”).load(toLoad)
}
});
$('nav ul li a')。单击(函数(){
var toLoad=$(this.attr('href')+'#main content';
$(“#主内容”).hide('fast',loadContent);
$(“#加载”).remove();
$(“#包装器”).append('LOADING…');
$('加载').fadeIn('正常');
window.location.hash=$(this.attr('href').substr(0,$(this.attr('href').length-5);
函数loadContent(){
$(“#主要内容”).load(toLoad,”,showNewContent())
}
函数showNewContent(){
$(“#主要内容”).show('normal',hideLoader());
}
函数hideLoader(){
$('加载').fadeOut('正常');
}
返回false;
});
我想我应该取消一些重复的选择器吗
这里还有HTML:
<div id="main-content" class="home">
… content to be loaded
</div>
<nav>
<ul>
<li><a href="home">Home</a></li>
<li><a href="about">About</a></li>
<li><a href="contact">Contact</a></li>
</ul>
</nav>
…要加载的内容
导航:
<div id="main-content" class="home">
… content to be loaded
</div>
<nav>
<ul>
<li><a href="home">Home</a></li>
<li><a href="about">About</a></li>
<li><a href="contact">Contact</a></li>
</ul>
</nav>
我使用的是htaccess,因此我不必包含文件扩展名,但如果需要,文件名是.php
假设我在#home
上,如果我再次单击#home
链接,它将重新加载同一页面,如果我已经在该页面上,有没有办法停止此操作?更改
window.location.hash = $(this).attr('href').substr(0,$(this).attr('href').length-5);
到