2017-09-10 3 views
-1

自分のサイトにmyFunctionコードを追加しました。問題はない、それは動作します。次に、2番目のmyFunctionを追加しようとしました。問題は、私が2番目のmyFunctionを宣言しても動作しないということです。 1 myFunctionを使用する場合にのみ正常に実行されます。私はすべてのことをやってみました、名前を変更しました(myFunction2)、私はそれをするように言ったが動作しません。 私の質問は今ですか:2つのmyFunctionsを追加するには?2つのmyFunctionを追加するには?

スクリプト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"; 
} 

スクリプト2:

window.onscroll = function(scroller) {myFunction(scroller)}; 

function myFunction(scroller) { 
    if (document.body.scrollTop > 550 || document.documentElement.scrollTop > 550) { 
     document.getElementById("content").className = "slideUp"; 
    } 
} 
+0

すべての関数は一意でなければなりません。基本情報https://www.w3schools.com/js/tryit.aspについては、こちらをご覧ください。filename = tryjs_function_return –

+1

問題を引き起こすコードを投稿します([編集]を使用)。 –

答えて

0
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!'); 
} 

は、コードを保存し、Webページを開きます。

デバッガを開き、コンソールを検索します。

両方のメッセージが表示された場合、コードは期待どおりに機能しません。

最初のメッセージとエラーメッセージが表示されたら、コードにはデバッグが必要です。

どちらのメッセージも表示されない場合、コードはロードされず、エラーメッセージに応じて入力メカニズム/ setInterval/setTimeoutおよび/またはパラメータをデバッグする必要があります。入力メカニズム/ setInterval/setTimeoutがない場合は、上記のコードブロックのほとんどに示すようにコードを直接追加するか、関数を呼び出す必要があります。

EDIT:パラメータスクロールが定義されていません。変更 '関数(scroller){myFunction(scroller)};' 'function {){myFunction2()};' 'function myFunction(scroller){'から 'function myFunction2(){'

+0

どうもありがとうございました。私はそれがうまく行かないと思っていたが、最終的に.....ありがとう –

1

あなたが同じ名前で複数の機能を持つことはできません。 2番目のスクリプトをmyScrollerFunctionに変更して、それを呼び出すときにmyScrollerFunctionにも変更してください。

2つの機能が同じ名前を共有することはできません。

関連する問題