Javascript .load不能始终如一地工作,我缺少什么?

时间:2013-06-04 04:32:40

标签: javascript

我需要另一组(或几组)眼睛才能看到我所缺少的东西。我正在以下网站上工作:http://www.nbtc.org/nv2

我使用.load动态加载内容,单击链接时,.php文件中的相关代码将加载到位于主屏幕顶部的空div中。

顶部菜单栏上的所有链接都工作得很好,我在左侧垂直菜单栏中填充的几个链接也很好用。试试Drive& Park - Cashkey就是一个例子。仅供参考 - “主页”链接有效。

然而,主屏幕上的“免费拼车/ Vanpool匹配,过境信息”链接将无效。代码的格式与其他有效的链接相同。我确信有一些东西我如何组织不同的部分,以防止它工作,我只是没有看到它。

链接很好,选择“请求信息” - 左侧菜单中的“Rideshare Info”会显示相同的页面,没有问题。

提前感谢您的帮助!

UPDATE !!抱歉!!如果我真的把正确的网站放在一边会有所帮助。它实际上是http://www.nbtc.org/nv2。 (我把链接固定在顶部)

对于特定代码,水平和垂直菜单栏中的链接是以下变体:

<script type="text/javascript">
    $("#menubar").on("click", ".target", function(event{event.preventDefault();
    $("#content").load(event.target.href);
});
</script>

因此,该链接具有类“.target”,然后将链接的php加载到位于主主页顶部的空div“#content”中。除了ID之外,脚本是相同的。左侧菜单的脚本显示为“#leftmenu1”而不是“#menubar”。

问题在于“免费拼车匹配”按钮。它位于'#splash'div中,它位于空的'#content'div后面,它使用这个脚本:

<script type="text/javascript">
    $("#splash").on("click", ".target", function(event){event.preventDefault();
    $("#content").load(event.target.href);
});
</script>

这是相同的脚本,但它不起作用!查看页面,两个菜单栏中的完成链接完美运行。我知道它不是链接本身,因为左侧菜单上的一个按钮链接到相同的内容没有问题。谢谢!

2 个答案:

答案 0 :(得分:2)

在对Javascript进行更正之后,它仍然无法正常工作。所以,我决定系统地删除div的每个部分,直到它工作。这就是诀窍,也就是说我让它发挥作用,为什么它有效,我希望有人可以启发我。

以下是div的原始版本:

<div id="cpmatch"><a class="target" href="ridematchapp.php"><span>    
<h1>FREE</h1>Carpool/Vanpool Matching,<br>Transit Info</span></a></div>

使用css,它会生成一个大圆形按钮,“Free”一词出现在第一行,格式为大而斜体。使用'span',所以我可以使文本的其余部分大于屏幕上的普通文本,但小于'Free'而不是斜体。

这是跨度!我重新安排了css使其更简单,但格式化文本相同,删除了跨度,所以div现在看起来像这样:

<div id="cpmatch"><a class="target" href="ridematchapp.php">    
<h1>FREE</h1>Carpool/Vanpool Matching,<br>Transit Info</a></div>

有效!我不知道为什么,但确实如此。

我在跨度上的CSS是次要的文本格式。即使我从css文件中删除了“#cpmatch span”,它仍然无效,因此格式化与它无关。

顺便说一下,使用h1标签是犹太教,我用css重新格式化,所以它取代了一个跨度,但是如果我把一个跨度而不是按钮就不会工作。

答案 1 :(得分:1)

您的脚本不应该以:

开头
$(document).ready(function() {

<script>标记之后?像这样:

<script type="text/javascript">
$(document).ready(function() {
    $("#menubar").on("click", ".target", function(event) {
        event.preventDefault();
        $("#content").load(event.target.href);
    });
});
</script>