2017-11-18 6 views
0

Xの秒間のテキストの色を変更し、ページに新しいデータが更新されたときに元の状態に戻すにはどうすればよいですか。 (私はあなたの「CURRENT_PRICEは」IDまたはクラスであるかわからない、また同様に、以前の価格を保存するためにVARを使用します。フェードアウト時に色を変更し、新しいデータが取り込まれたときにフェードインに戻すにはどうすればいいですか?

function displayPrice() { 
fetch_price(); 
const price = json[0]; 
document.getElementById('current_price').innerHTML = `$${price}`; 
$('current_price').fadeOut(500); 
//if price is greater than previous price, set current_price color to green 
//else set current_price color to red 
$('current_price').fadeIn(500); 
//set current_price color to white 
}); 
} 

setInterval(displayPrice, 5000); 

コードのアップデート:このようなフェードアウト後

const API_URL = 'https://api.coinmarketcap.com/v1/ticker/bitcoin/?convert=NZD'; 
function displayPrice() { 
fetch(API_URL) 
.then(res => res.json()) 
.then(json => { 
const price = json[0]; 
document.getElementById('btc_usd').innerHTML = `$${topCoin.price_usd}`; 
$('btc_usd').fadeOut(500); 
$('btc_usd').fadeIn(500); 
}); 
} 
setInterval(displayPrice, 5000); 
+0

あなたのコードでは、タイプミスがあり、あまり意味がありません。 'fetch_price'は何をしますか? JSONはどこから来たのですか? – Andy

+0

fetch_priceは、API URLを使用して別のWebサイトからjson形式で価格を取得するために使用する関数です。この価格はcurrent_price idのinnerHTMLに更新されます。すべて動作しますが、私はcurrent_price idをフェードインとフェードインする方法を知らないだけです。 – smuhero

+0

'fetch_price'は非同期関数でなければなりません。 JSONが明らかにどこにも出現していないため、コードが機能しません。おそらくそれを最初に修正すべきです。 – Andy

答えて

0

使用コールバックp_price)

$(this).find("#current_price").fadeOut("slow", function() { 
    if (price > p_price) { 
     $(this).css({color:"green"}); 
    } else { 
     $(this).css({color:"red"}); 
    } 
}); 

また、fadeInの場合もあります。

0

私はそれを動作させることができました。私はすべてを通り抜けていました。

$("#current_price").css({color:"#4CAF50"}); 
$('#current_price').fadeOut(500); 
$('#current_price').fadeIn(500); 
0

シナリオの実装にはfadeToggle()メソッドを使用できます。数秒後にこのメソッドを呼び出し、値が存在する場合は通常にします。

入力値

<input type="text" id="current_price" onchange="return ChangeValue(this);"/> 



$(document).ready(function() { 
    $('#current_price').on('change', ChangeValue) 
    { 
    $('current_price').fadeToggle(); 
    } 
    }); 
関連する問題