【发布时间】:2014-07-12 19:34:07
【问题描述】:
我有一个将内容加载到 div 中的 jQuery 脚本。当您单击菜单项时,内容会在“contentarea”内加载,并且 URL 会更新。那部分工作得很好。但是,我还希望能够单击 div 内部(一旦将内容加载到其中),然后在其位置加载另一个页面。例如,表单页面被加载到 contentarea 中,在表单页面内部有一个指向联系我们页面的链接。当我单击链接时,我希望从内容区域中清除表单页面,并在其位置加载联系我们页面。见下图:
按照我现在的脚本设置方式,只有在我从 div 外部单击时才会加载内容。
这是我需要修改的代码:
<script type="text/javascript">
//Jquery loader
function getHash() {
return window.location.hash
}
$("a").on("click", function (e) {
page = this.href.replace("#", "") + ".html",
hash = $(this).prop("hash");
$('#contentarea').load(page, function () {
if (page.match("home.html")) {
history.pushState('', document.title, window.location.pathname);
} else {
location.hash = hash;
};
});
});
//on pageload
history.pushState
var hash = getHash();
if (hash) {
$("a[href='" + hash + "']").trigger("click");
} else {
$("a[href='#home']").trigger("click");
}
</script>
任何帮助将不胜感激!
【问题讨论】:
-
这能回答你的问题吗? Onclick reload the div only
标签: javascript jquery ajax