0

我花了一段时间来解决许多类似的问题,但根据给出的答案,我相信我的设置是正确的——但它不起作用,我不知道为什么。

我是 Javascript/jQuery 的新手,所以很可能(或很可能!)我在这里遗漏了一些完全明显的东西。

我有一个带有大型“主”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 告诉我是站点根目录)。

这是我的点击代码;

<a onclick="loadPage('/pages/testpage/');return false;">Test</a>

我没有返回任何错误。我只能假设 loadPage 函数的值为零,而不是 /pages/testpage/ - 但我不知道为什么!

非常感谢指针 - 这里发生了很多挠头!

4

5 回答 5

3

它已经是一个字符串:

$('#main').load(pgurl);
于 2013-01-10T18:01:26.187 回答
2
$('#main').load(' +pgurl+ ');

需要是

$('#main').load(pgurl);

您可能应该将其写为一行以防止第二次查找。

function loadPage (pgurl) {
    $('#main').html('<p align="center">Loading...</p>').load(pgurl);
}
于 2013-01-10T18:01:26.720 回答
2

因为您似乎没有使用pgurl参数,所以加载括号中的这个东西是string变量名称的文本:)

$('#main').load(' +pgurl+ ');

改用那个

$('#main').load(pgurl);

如果你不熟悉字符串连接,也许你应该看看http://www.youtube.com/watch?v=n17aX2TdQRk

于 2013-01-10T18:01:51.883 回答
2

那是错字吗?尝试改变:

$('#main').load(' +pgurl+ ');

$('#main').load(pgurl);

于 2013-01-10T18:02:35.230 回答
1

您必须更改以下行 // 您传递字符串而不是变量 //

$('#main').load(' +pgurl+ ');

$('#main').load(pgurl);
于 2013-01-10T18:05:03.717 回答