2011-04-26 24 views
1

1回のクリックで5つのJavaScript関数を実行するにはどうすればよいですか?1回のクリックで複数のJavaScript関数を実行する方法

サンプルコード:

<img alt="move right" 
    src="Pictures/sides/right.gif" 
    id="MoveRight" 
    ***onclick="javascript:moveObjRight('ground','sky','mountain');"*** 
    style="z-index: 1; left: 801px; top: 37px; position: absolute; height: 33px; width: 34px;" 
/> 
+0

が同期作られていますを確認します。前の呼び出しが完了した後にのみ電話をかけることができます。私は確信していません。 – Anji

答えて

4
<img alt="move right" src="Pictures/sides/right.gif" id="MoveRight" 
    onclick="moveObjRight('ground','sky','mountain');myFunction2();myFunction3();myFunction4();myFunction5();" 
    style="z-index: 1; left: 801px; top: 37px; position: absolute; height: 33px; 
    width: 34px;" /> 

または

<script type="text/javascript"> 
window.onload = function() { 
    var ele = document.getElementById('MoveRight'); 
    ele.onclick = function() { 
     moveObjRight('ground','sky','mountain'); 
     myFunction2(); 
     myFunction3(); 
     myFunction4(); 
     myFunction5(); 
    } 
}; 
</script> 

ノートのonclickのプロパティにすべての機能を追加することができますオプションは以前のwindow.onloadele.onclickの機能が署名されています。あなたは適切なDOM readyイベント(:$(document).ready(function(){/*code*/});やショート:例えばjQueryの$(function(){/*code*/}))を使用するJavaScriptライブラリを使用している場合

+1

@Thomas MyFunction2()はmoveObjRight(..)の後にのみ呼び出されます。すべての関数を非同期と呼び出す方法はありますか? – Anji

+0

スレッドモードで関数を実行することは可能ですか?すべての関数が1つずつではなく、1つの時間に実行されることを意味しますか? – hamze

+0

実際には、onclickのようなイベント関数が実行されても、そのページの他のすべてのjavascriptが停止していても、すべてのjavascriptエンジン(私は意識している)がjavascript synchronousを実行していることを覚えていません。 – Thomas

4

あなたは、第二のことをimgタグ

<img onclick="fnc1();fnc2();..." /> 
1

をあなたのクリックでイベント上の単一のメソッドを呼び出すことができ、その方法ではすべてのあなたの他のメソッドを呼び出すことができます。他の機能で

0

コール複数の機能

<script type="text/javascript"> 
    function CallMultipleFunctions() { 
    Function1(); 
    Function2(); 
    Function3(); 
    Function4(); 
} 
</script> 

<img onclick= "CallMultipleFunctions()"/> 

EDIT:

私は関数呼び出しを推測し、このlink

+0

スレッドモードで関数を実行することは可能ですか?すべての関数が一度に1つずつ実行されるわけではありませんか? – hamze

+0

JavaScriptはシングルスレッドです。[1] ' しかし、Webブラウザのモデルはシングルスレッドなので、4つの関数はすべてユーザがコントロールを戻す前に実行されます。私たちが他のソリューションについてアドバイスをするには、何か別のものが必要なのかを言う必要があります。 '[1]'はい、Webワーカーがいますが、それらはUIと対話できないので無視しています。 –

関連する問題