我是 JavaScript/jQuery/AJAX 的新手,所以我怀疑这个问题是我没有看到的一些拼写错误。它工作正常,但在编辑 hide() + show() 方法的某个时候停止工作(在 Firefox + Chrome 中测试过)。我仔细研究了很多次,看不出有什么问题。
script.js
$(document).ready(function(){
$('p').click(function() {
$(this).hide();
})
$('#nav li a').click(function(){
var toLoad = $(this).attr('href')+' #content';
$('#content').hide('fast',loadContent);
function loadContent() {
$('#content').load(toLoad,'',showNewContent())
}
function showNewContent() {
$('#content').show('normal');
}
return false;
});
});
在我的 index.html 页面中,以下脚本包含在 <head>
中部分:
<script src="script.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.5.2/jquery.min.js"></script>
最佳答案
您需要在您的script.js
之前包含jQuery。
JavaScript 代码是同步执行的。在您的示例中,$
是(或至少应该是)undefined
,当然 undefined
没有类似 jQuery 的方法。
此外,您的回调之一定义为 showNewContent()
。末尾的括号将调用该函数并将其结果作为回调传回,这不是您在这种情况下想要的。
相反,删除 ()
以仅传递对函数的引用。
关于javascript - 为什么我的 jQuery + AJAX 停止工作了?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6052420/