2

値を追加するテキスト型の入力があります。

<input type="text" name="mydat" id="mydat" value="60000" />

これには、毎分実行されるタイマーがあります。

<script>

window.setInterval(function(){

 //do something here

}, 60000);

</script>

上記のコードでは、間隔値がハードコーディングされています。

代わりにこれを行うにはどうすればよいですか:

60000 = #mydat 値

したがって、ループするたびに #mydat から値を読み取りますか?

4

3 に答える 3

7

setTimeout代わりに再帰的に使用してください。

var startTimer = function() {
    console.log("do something here");
    window.setTimeout(startTimer, parseInt($("#mydat").val(), 10));
});

startTimer();
于 2012-09-14T23:11:14.560 に答える
5

「ループするたびに」は、値が変更される可能性があることを意味します-したがって、正しくないため、繰り返しsetInterval使用する必要があります...setTimeout

function DoSomething() {
    //Do Stuff
    setTimeout(DoSomething, document.getElementById('mydat').value);
}

テキストボックスの内容が変更された場合(次のイベントが発生した後)、必要な処理を実行し、タイムアウトを更新する必要があります

于 2012-09-14T23:10:21.353 に答える
2

value属性を使用して、入力の値を取得できます。

var interval = document.getElementById('mydat').value;

window.setInterval(function() {
    // Some code...
}, interval);

またはjQueryを使用する

var $interval = $('#mydat').val();

window.setInterval(function() {
    // Some code...
}, $interval);
于 2012-09-14T23:12:29.303 に答える