我想把头发拉出来试图解决这个问题。我只是在一些内容上做一个简单的ajax加载但是内容没有加载所有其他功能都在工作,但内容没有显示。任何帮助将不胜感激。它可能也是非常简单但......这是代码
主页HTML
<ul><li id="content1">click this</li></ul>
<div id="ajaxContent"></div>
外部HTML
<div id="content1"><p>some content here</p></div>
......和JS
$(function() {
var $items = $('ul li');
$items.bind('click',loadContent);
function loadContent() {
var toLoad = 'content.html'+' #'+ $(this).attr('id');
var $content = $('#ajaxContent');
$content.append('<span id="load">LOADING...</span>');
$('#load').fadeIn('normal');
$content.load(toLoad,'',showNewContent)
function showNewContent() {
$content.fadeIn(1000,hideLoader);
}
function hideLoader() {
$('#load').fadeOut('normal');
}
}
}):
答案 0 :(得分:0)
您的问题是,您在showNewContent
功能中声明了您的功能hideLoader
和loadContent
。这意味着在调用loadContent
函数之前不能引用它们(但它需要自己使用它们)。将函数showNewContent
和hideLoader
移到loadContent
函数之外,它应该可以正常工作。
答案 1 :(得分:0)
散列(来自#
的部分)不会发送到服务器。如果这是唯一发生变化的事情,浏览器将不会将其视为新网址,也不会加载该网页。将网址更改为content.html?id=1
或其他内容,并确保在服务器上正确处理此GET参数。