teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

2

調整

2018/07/18 03:50

投稿

yambejp
yambejp

スコア117914

answer CHANGED
@@ -1,8 +1,8 @@
1
1
  ループ内の処理が0.5ミリ秒内に終わらないので処理が待たれているのでしょう
2
2
  割り込み間隔を伸ばし、刻み値をあげて対応してください
3
3
 
4
- 6000を0.5間隔でカウントアップするのではなく
4
+ 6000を0.5ミリ秒間隔でカウントアップするのではなく
5
- 50間隔で100刻みでカウントアップすると
5
+ 100ミリ秒間隔くらい調整するとよいでしょう
6
6
 
7
7
  # sample
8
8
  ```javascript

1

sample

2018/07/18 03:50

投稿

yambejp
yambejp

スコア117914

answer CHANGED
@@ -2,4 +2,33 @@
2
2
  割り込み間隔を伸ばし、刻み値をあげて対応してください
3
3
 
4
4
  6000を0.5間隔でカウントアップするのではなく
5
- 50間隔で100刻みでカウントアップするとか
5
+ 50間隔で100刻みでカウントアップするとか
6
+
7
+ # sample
8
+ ```javascript
9
+ $(function(){
10
+ var timerID;
11
+ var self=$('#count02');
12
+ $("#button").on('click',function() {
13
+ clearInterval(timerID);
14
+ var countNext=0;
15
+ var countMax=6000;
16
+ var countSpeed=100;
17
+ var endTime=3000;
18
+ var countInterval=countMax*countSpeed/endTime;
19
+ timerID=setInterval(function(){
20
+ countNext += countInterval;
21
+ self.text(countNext+parseInt(Math.random()*countInterval));
22
+ if(countNext >= countMax){
23
+ self.text(countMax);
24
+ clearInterval(timerID);
25
+ }
26
+ },countSpeed);
27
+ });
28
+ });
29
+ ```
30
+ ```HTML
31
+ <input type="button" id="button" value="start">
32
+ <span class="count" id="count02">0</span>万</p>
33
+
34
+ ```