0

この JavaScript のビットでは、アイデアは、誰かがクリックすると、「5」に達するまで順方向にカウントすることです。その後、戻る必要があります。

count=0;
function remote(w) {
    count++;
    if (count < 5 ) {
        for (var i=1;i<=5;i++) {
            var g = document.getElementById("searchme").value = w+count;
        }
    }else if (count > 4) { 
        for (var i=5;i > 0;i--) {
            //alert(i);
            var q = document.getElementById("searchme").value = w+count;
        }
    }
}

ただし、アラートがある場合にのみ機能します。どのようにして「i」値をフォームに取得しますか?

おお、皆さん、素早い対応ありがとうございます。それは私に何かを解決するように促しました:

var f = 0;
var s = 0;
function upDown() {
    if (s < 5 && f==0){
        countUp('no.');
        if (s==5){f=1}
    }else if(s > 0 && f==1){
        countDown('no.');
        if (s==0){f=0}
    }
}

function countUp(w) {
    s++;
    var el = document.getElementById('box03').innerHTML = w+s;
}

function countDown(w) {
    s--;
    var el= document.getElementById('box03').innerHTML = w+s;
}
4

3 に答える 3

1

Web 上のすべての JavaScript (Web ワーカーを除く) は同期的です。JS が実行されている間、ブラウザーは描画を含め、他のことはできません。アラート ダイアログが表示されたときに更新が表示されるのは、それを機能させるブラウザのさまざまなメカニズムがメイン ウィンドウを再描画する必要があるためです。

1、2、3 などを表示できるようにしたい場合は、タイムアウトを使用する必要があります。

于 2011-04-11T16:43:16.170 に答える
1

最も簡単な解決策の 1 つは、innerHTML実装とロジックの両方で を使用することです。

JS

document.getElementById('logs').innerHTML+='Hello ';
document.getElementById('logs').innerHTML+='World ';
document.getElementById('logs').innerHTML+='!';

HTML

<div id="logs"></div>

アップデート

あなたが私の投稿にコメントしたコードを取得し、少し更新します。

var max = 5;
var min = 0;
var cur = 0;
var dir = 1;

function pingPong() {
    cur+=dir;
    document.getElementById('box').innerHTML='No.'+cur;
    if(cur==max){dir=-1;return;}// ping
    if(cur==min){dir=1;return;}// pong
}
window.onclick=pingPong;

jsfiddle の

于 2011-04-11T16:43:32.637 に答える
0

更新するドキュメント要素 (例: searchme) を変数でポイントし、そのオブジェクトの値を割り当てることができます。

オブジェクトがフォーム要素 (入力) の場合は、.valueパラメーターを使用できます。オブジェクトが div/span またはその他の HTML 要素である場合、値を変更する必要があります。.innerHTML

//For DIV/SPAN etc:
var el=document.getElementById("divx");
el.innerHTML=i;

//For INPUT
var el=document.getElementById('inputx');
el.value=i;

注: すぐに、要素は最後の値のみを保持しているように見えます (更新が速すぎて観察できないため)。

于 2011-04-11T16:42:09.860 に答える