2

我有两个 Jquery 函数,我可以单独在页面上正常工作,但当我同时拥有它们时就不行了。我无法看到我可能做错了什么,因为我有类似的代码在其他页面上运行良好。

第一个功能:

$(document).ready(function()
{
   $("#add-questions").click(function() {$("#extra-questions").fadeIn(800);});
});

第二个功能:

$(document).ready(function()
{
   if($PHPTRIGGER == true)
   {
      $("#pop-text").html("Message sent.");
      $("#pop").show();
      setTimeout(function() {$("#pop").animate( {height: "hide", opacity: "hide"}, "medium");}, 4000);
   }
});

“$PHPTRIGGER”是我传递给 Jquery 的 php 变量(StackOverflow 不允许我放入真正的 php,所以我已经这样标记了它)。

我尝试将这两个函数放在同一个“文档就绪”中,尝试交换顺序,但它们不能一起工作。

有什么想法吗?

谢谢。

更新:

这是第一个无法响应点击事件的函数。它仅在执行第二个功能(链接到表单提交)后才起作用。仍然想知道为什么会这样。

最后更新:

解决了 Firebug 的问题。必须用空值初始化通过 PHP 传递的 PHPTRIGGER,否则第一个函数会失败。实际上这很有趣,因为该函数不接受任何 PHP。基本上,第二个函数中的(严格)语法错误导致第一个函数失败,而第二个函数本身工作正常。

4

1 回答 1

1

当我将它们放入测试页面时,它们为我工作:

  • 4秒后pop隐藏。

  • 弹出文本显示“已发送消息”。

  • 当我单击#add-questions 时,#extra-questions div 淡入(假设初始显示:无)

如果你想要其他的东西,你可能只是在看自己的代码时睡眼惺忪(也许你想要两个地方都用#pop,而不是一个地方用#pop,另一个地方用#pop-text?)

您可能会尝试的其他事情:在 Chrome 中运行并检查 JS 控制台是否有错误(以防您当前的调试器没有向您显示错误并且执行只是暂停)。检查您的 HTML 以确保引用的 id 确实存在。检查您的 CSS 以确保您的初始值是正确的。确保您的 $PHPTRIGGER 变量正确传递。

如果您有更多信息或发现任何问题,请告诉我们。

于 2010-02-14T17:51:06.867 回答