0

この問題を探していましたが、解決策が見つかりませんでした。ボタンをクリックすると 1 つのことを実行し、後で同じボタンを押すと別のことを実行するコードを作成しようとしています。「if-else」ステートメントを作成しようとしましたが、クリック数をカウントする方法がわかりません。

コードは次のとおりです。

<button type="submit" id="btnshwmap" onClick="init()" >Show Map</button>

そして if-else :

function init() {
    var click =0;
    if (click === 0) {  
        do this  
        var click = 1;  
    } else {  
        do this  
    }
});//end click

基本的に、要素が初めてクリックされた場合、この例のJqueryを使用しようとしています

しかし、答えはJqueryを使用しています。ライブラリを使用しないようにしています。

どうもありがとう!

4

3 に答える 3

3

click=0問題は、関数を呼び出すたびにリセットし続けることです。

私は次のようなことを提案します:

function init() {
    if( !init.click) {
        // first, third, fifth etc.
        init.click = 1;
    ]
    else {
        // second, fourth...
        init.click = 0;
    }
}
于 2013-07-22T23:25:13.107 に答える
2

グローバル領域で、関数の外側にクリックカウンターが必要です。

var click =0;

function init() {

    if (click == 0) {  
        //do this once
        click = 1;  
    } else {  
        //do this every other time
    }
});//end click
于 2013-07-22T23:25:46.860 に答える
0

クリックでボタンに設定された値を切り替えてみてください。何かのようなもの:

function init() {
    var value = document.getElementById('btnshwmap').value;
    if (value === 1) {  
        do this  
        document.getElementById('btnshwmap').value = 2;  
    } else {  
        do this  
        document.getElementById('btnshwmap').value = 1;
    }
});//end click

または、関数を実行するたびにグローバル変数を設定するのではなく、クリック ステータスを追跡するグローバル変数を保持します。

于 2013-07-22T23:24:48.613 に答える