代码之家  ›  专栏  ›  技术社区  ›  MajorSin

如何添加2个MyFunction?

  •  -1
  • MajorSin  · 技术社区  · 7 年前

    我已经在我的网站上添加了myFunction代码。没问题,它有效。然后我尝试添加第二个myFunction。问题是,如果我再添加一个myFunction,它就不起作用了。只有当我使用1 myFunction时,它才会成功运行。我尝试了所有的方法,改变了名字(myFunction2),人们让我这么做,但没有用。

    脚本1:

        var myVar;
    function myFunction(loader) {
        myVar = setTimeout(showPage, 3000);
    }
    function showPage(loader) {
      document.getElementById("loader").style.display = "none";
      document.getElementById("myDiv").style.display = "block";
    }
    

    window.onscroll = function(scroller) {myFunction(scroller)};
    
    function myFunction(scroller) {
        if (document.body.scrollTop > 550 || document.documentElement.scrollTop > 550) {
            document.getElementById("content").className = "slideUp";
        }
    }
    
    2 回复  |  直到 7 年前
        1
  •  1
  •   Sean Mooney    7 年前

    没有两个函数可以共享相同的名称。

        2
  •  0
  •   UltraDestroyerofWorlds    7 年前
    function UniqueFunctionName(parameters){
        //put code here
    }
    UniqueFunctionName(startparameters); //not necessary
    

    function AnotherFunctionName(parameters){
        //put code here
    }
    AnotherFunctionName(startparameters); //not necessary
    

    这就是如何生成另一个函数。 在您的情况下,这应该是:

    function myFunction1(){
        //code in here
    }
    
    function myFunction2(){
        //code in here
    }
    myFunction1(); // or not
    myFunction2(); // or not
    

    http://five.agency/javascript-debugging-for-dummies/

    学会发现并删除代码中的错误,一切都会变得更容易。

    如果代码是完美的,那么唯一的其他可能性是它没有被调用。

    要对此进行测试,请插入以下代码:

    function myFunction2(){
        console.log('The function loads!');
        //put code here
        console.log('The function works!');
    }
    

    保存代码并打开网页。

    如果您同时看到这两条消息,则代码的工作方式与预期不同。

    如果您看到第一条消息和一条错误消息,那么代码需要调试。

    如果您没有看到任何消息,那么代码甚至不会加载,您需要根据错误消息调试输入机制/setInterval/setTimeout和/或参数。如果您没有输入机制/setInterval/setTimeout,那么添加一个或直接从代码中调用函数,如上面我的大多数代码块所示,否则代码将永远无法加载。