Javascript / jQuery基本功能问题

时间:2015-12-10 10:22:16

标签: javascript jquery

我试图在点击时显示div。应该发挥魔力的功能是:

    $(document).ready(function showGogoasa() {
      $('.gogoasa-newsletter').show();
    });

不幸的是,它什么也没做。这让我头疼了好几个小时,因为我过去做过这样的小事,而且他们工作了。我试图在客户的网站上进行此修改。

当我检查firebug控制台时,它会说: ReferenceError:showGogoasa未定义

我试图在Google上查找此类错误,但类似的案例却因未声明变量而出现此类问题。好吧,我没有任何变数。

3 个答案:

答案 0 :(得分:4)

  

我试图在点击时显示div。

您的代码正在 ready 事件上运行该函数,并且不会提供您描述的错误。

据推测(如果你提供了一个完整的测试用例会有所帮助)你也试图将函数绑定为一个单击处理程序,但你不能这样做,因为你已经使用函数表达式而不是函数声明(因此它不会在其自己的作用域之外创建名为showGogoasa的变量)。

单独定义函数,然后分配调用将其绑定为ready事件上的click事件处理程序。

$(document).ready(function ready_handler() {
  function showGogoasa() { // Define it as a variable in the current scope
      $('.gogoasa-newsletter').show();
  }
  showGogoasa(); // call it now
  $("button").on("click", showGogoasa); // call it then
});
  

好吧,我没有任何变数。

那就是问题:)

函数是第一类对象,当您说showGogoasa()时,表示“获取showGogoasa的值并将其称为函数”。

答案 1 :(得分:0)

$(document).ready(function() { $('#idOfYourClickerElement').on('click', function(){ $('.gogoasa-newsletter').show(); }); });

答案 2 :(得分:0)

使用jsfiddle或提供更多代码会有所帮助。

一个问题是您缺少点击事件处理程序。例如,当用户点击X时,Y应该发生/显示。以下简单示例可帮助您了解其工作原理:

http://jsfiddle.net/fionaredmond/1vbagj12/

$(document).ready(function(){
    $("#showGogoasa").click(function(){
        $(".gogoasa-newsletter").show();
    });
});
相关问题