我花了一些时间经历了许多类似的问题,但根据给出的答案,我会相信我已经正确地设置了这个 - 但它不起作用,我不确定为什么。
我是Javascript / jQuery的新手,所以很可能(或者很可能!)我错过了一些完全明显的东西。
我有一个带有大'main'div的页面,我正在使用jQuery .load通过导航将内容加载到该页面中。一切正常。但是,一些目标页面数据量很大,所以我试图在两者之间集成一些东西来向用户表明页面正在加载。因为有很多导航元素,而不是具有多个功能(即每个导航元素一个),我试图在一个函数中完成它,就像这样......
<script type="text/javascript">
function loadPage(pgurl) {
$('#main').html('<p align="center">Loading...</p>');
$('#main').load(' +pgurl+ ');
}
</script>
我遇到的问题是导航中的onclick。在此之前,我在onclick中有.load(即 onclick =“$('#main')。load('/ pages / testpage /');”)并且运行正常。现在我通过onclick触发loadPage函数,它正在加载一个黑页(firebug告诉我的是站点根目录)。
这是我的onclick代码;
<a onclick="loadPage('/pages/testpage/');return false;">Test</a>
我没有收到任何错误。我只能假设loadPage函数获得零值,而不是/ pages / testpage / - 但我不明白为什么!
指针非常受欢迎 - 这里有很多头疼!
答案 0 :(得分:3)
这已经是一个字符串:
$('#main').load(pgurl);
答案 1 :(得分:2)
$('#main').load(' +pgurl+ ');
需要
$('#main').load(pgurl);
您应该将其写为一行以防止第二次查找。
function loadPage (pgurl) {
$('#main').html('<p align="center">Loading...</p>').load(pgurl);
}
答案 2 :(得分:2)
因为看起来你没有使用pgurl
参数,所以加载括号中的这个东西是string
变量名的文本:)
$('#main').load(' +pgurl+ ');
改为使用
$('#main').load(pgurl);
如果您不熟悉字符串连接http://www.youtube.com/watch?v=n17aX2TdQRk
,也许应该看一下答案 3 :(得分:2)
$('#main').load(' +pgurl+ ');
到
$('#main').load(pgurl);
答案 4 :(得分:1)
您必须更改以下行//您传递字符串而不是变量//
$('#main').load(' +pgurl+ ');
到
$('#main').load(pgurl);