2017-11-09 4 views
1

基本的には、安価なAPIから数値と画像を取得しています。私がしたいのは、Startがレーティングマイナス300で、最後が実際のレーティングである場合、レーティングカウントを1ミリ秒ごとにカウントアップさせるソートのアニメーションを作成することです。私はそこにいくつかのコードがありますが、私のサイトには何も表示されていないようで、おそらく間違いを犯しましたが、私はどこにいるのかわかりません。誰も私に助言を与えたり、正しい方向に私を指摘することができますか?JSONデータを変数に設定してインクリメント+プリントする

<!-- Calls on API, requests current SR --> 
<script> 
    let requestUrl = "https://ow-api.com/v1/stats/pc/us/ShalevBito- 
2753/complete"; 
    let request = new XMLHttpRequest(); 
    request.open('GET', requestUrl); 
    request.responseType = 'json'; 
    request.send(); 
    request.onload = function() { 
    logData(request.response); 
    } 
    function logData(data) { 
    document.querySelector('.rating').innerText = `${data['rating']}`; 
    document.querySelector('.rank').src = `${data['ratingIcon']}`; 
    var start = `${data['rating']}`; 
    var counter = `${data['rating']}` - 300; 
    } 
    if (counter < start) { 
    counter++; 
    } 
</script> 

<!-- Displays current SR --> 
<p class="counter"</p> 
<img class="rank"> 
+0

"_itがwork_しない" を定義してくださいを含むようにlogDataを変更すると LOGDATAのあなたのカウンターを取ります。 – Teemu

+0

https://developer.mozilla.org/en-US/docs/Web/API/WindowOrWorkerGlobalScope/setIntervalはおそらく助けますが、それほど多くのネットワークリクエストを作成できないことに注意してください.1000リクエストを2回も実行できるAPIはありません –

+0

更新された質問、私のコードで何が間違っているか正確にはわかりません。 – QuinnW

答えて

1

私はあなたのコード内でこのような何かを実装すると仮定します。

あなたは、関数呼び出しを何度も繰り返してsetIntervalを使用する必要があります。 (それは毎回リセットし得るdoes notのように) clearInterval API


 
    var repeater = setInterval(logData, 1, 700); 
 
    
 
    var start = 700; 
 
    var counter = 700 - 300; 
 

 
    function logData(data) { 
 
     document.querySelector('.rating').innerText = counter; 
 

 
     if (counter < start) { 
 
      counter++; 
 
     } 
 
     else{ 
 
      clearInterval(repeater); 
 
     } 
 
    }
<span class='rating'></span>

+0

申し訳ありません私はあなたの言うことをよく理解していません。私は初心者の一種です。 – QuinnW

+0

これでいいですよ! https://www.w3schools.com/jsref/met_win_setinterval.aspを少し見てください。基本的には、関数を繰り返し呼び出すことができます。あなたはコードを少し変更して、繰り返し呼び出すことができ、目標に到達したときにコールが停止するようにする必要があります。 –

+0

さて、ありがとう!私が問題を抱えているのは、APIから受け取った情報を変数に設定することです。あなたはそれをする方法を知っていますか? – QuinnW

関連する問題