我正在尝试建立一个网站,通过 ajax 调用加载页面,用 ajax 响应替换当前内容。我在 URL 的末尾添加了 # 和页面名称,以便人们可以为页面添加书签。
- www.examplesite.com#home
- www.examplesite.com#examples
- www.examplesite.com#examples/example1
- www.examplesite.com#examples/example2
我是 jQuery 新手,在较小程度上是 JavaScript,但是当我转到存储在子文件夹中的页面时,我试图获得不同的页面动画。fadeIn() 在页面和子文件夹中的页面上都可以正常工作,但是我根本无法让 .slideDown() 或 .animate() 工作。这是我的代码的摘录:
<script>
//All pages are stored in a folder called 'pages' or a subfolder of 'pages'
$(document).ready(function(){
var myUrl = $(location).attr('href');
var noPage = myUrl.indexOf('#');
if(noPage == -1) {
location.hash = 'home';
}
window.onhashchange = function() {
pageChange();
}
function pageChange() {
var myUrl = $(location).attr('href');
var page = myUrl.substring(myUrl.indexOf('#') + 1, myUrl.length);
$.get('pages/' + page + '.html', function(pageHtml) {
if (page.indexOf('/') != -1) {
$('.main').hide().html(pageHtml).slideDown(400);
} else {
$('.main').hide().html(pageHtml).fadeIn(400);
}
});
};
pageChange();
});
</script>
如果我是从完全错误的方向来解决这个问题,这就是它不起作用的原因,请随时通过给我一个它应该如何工作的例子来指出我正确的方向。