0

指定されたdiv(以下の#counter)から数値を取得し、毎秒100を加算して、div内の数値を更新するjqueryを使用してスクリプトを作成しようとしています。私はいくつかのことを試しましたが、意図した結果は得られませんでした。任意のヒント?これが私が現在持っているものです:

<script type="text/javascript">

setInterval("counter()", 1000); // run counter function every second

function counter() {
  var count = $("#counter").val();  // get value of counter div
  var total = count+100;  // add 100 to value of counter div
  $("#counter").text(total); // update counter div
}

</script>

<div id="counter">1000</div>
4

5 に答える 5

2

いくつかの変更:

function counter() {
    var count = parseInt($('#counter').text(), 10);
    $('#counter').text(count + 100);
}

setInterval(counter, 1000);
  1. に文字列を渡さないでくださいsetInterval。常に関数を渡します。
  2. .val()<input>エレメント専用です。(文字列を返す)を使用する必要があるため、 を使用.text()してテキストを整数に解析する必要がありますparseInt()。はbase-10 を想定するよう10指示します。parseInt
于 2013-03-05T23:59:29.663 に答える
1

編集-他の人が言及したようにparseIntを追加します。

counter()を正しく呼び出していないため、次のようにval()の代わりに.html()を使用する必要があります。

<script type="text/javascript">

setInterval(counter, 1000); // run counter function every second

function counter() {
  var count = $("#counter").html();  // get value of counter div
  var total = parseInt(count)+100;  // add 100 to value of counter div
  $("#counter").text(total); // update counter div
}

</script>

<div id="counter">1000</div>
于 2013-03-05T23:56:46.050 に答える
0

countを整数にキャストしてみますか?

var total = parseInt(count, 10) + 1000;

フォーム入力でない限り、val()ではなくjquery html()を使用する必要があります。

var count = $('#counter').html();

また、関数参照をsetInterval()に正しく渡していないことに注意してください。

setInterval(counter, 1000);
于 2013-03-05T23:56:45.217 に答える
0

使用する

parseint($("#counter").html(), 10) // or ~~$("#counter").html()

そしてさえ

$("#counter").html(total)

代わりは

于 2013-03-05T23:57:22.763 に答える
0

動作するコードは次のとおりです:http://jsfiddle.net/FbJPY/3/

問題は、間隔が機能していないことと、divの内容から数値を解析していないことです。

修正:

  • 間隔は変数ではなく関数を参照する必要があるため、引用符なしでカウンターを入力できます。

  • divの内容から数値を解析する必要があります。

setInterval(counter, 1000); // run counter function every second

function counter() {
  var count = parseInt($("#counter").text(), 10);  // get value of counter div
  var total = count + 100;  // add 100 to value of counter div
  $("#counter").text(total); // update counter div
}
于 2013-03-05T23:58:24.500 に答える