ビットコインのレートをAPIで取得し、ajax、setIntervalで1秒ごとに値を更新しています。
平均すると10秒に1回ほど値が変わるのですが、値が変わった時にanimate.cssのbounceクラスをaddclassし、バウンドさせたいです。
callback関数の呼び出される方の関数でifを使い、値が変わった瞬間、変数midと変数mid_delayがノットイコールになる瞬間にaddclassさせ、その後に変数midと変数mid_delayをイコールにれば良いと考えたのですが、うまくいきません。
コンソールログでUncaught TypeError: callback is not a functionと出るので、コールバック自体上手くいってないみたいです。
どうすればうまくいくでしょうか。
全然違うコーディングでも良いので、教えてください。
javascript
1var API_URL = "https://bitflyer.jp/" 2 var API_PATH = "api/echo/price" 3 var GET_URL = API_URL + API_PATH; 4 var mid_delay = 0; 5 6 var mid_sync = function(){ 7 mid_delay = mid 8 }; 9 10 11 //価格表示用MID取得 12 var GET_MID = function(callback) {$.getJSON( 13 GET_URL, //リクエストURL 14 null, //送信データ 15 function(jsonData, status) { 16 mid = jsonData['mid']; 17 var elem = document.getElementById("value"); 18 elem.innerText = Math.round(mid); //#valueにmidを挿入 19 }) 20 callback() 21 }; 22 23 console.log(GET_MID); 24 25 var add_bounce = function (){ 26 if (mid_delay != mid){ 27 $('#animated').addClass('bounce'); 28 $('#animated').removeClass('bounce'); 29 } 30 mid_sync(); 31 }; 32 33 //1000ミリ秒で自動的に価格更新 34 setInterval(GET_MID.bind(undefined, "add_bounce"),1000);
回答2件
あなたの回答
tips
プレビュー