更新のたびに実行される関数があります。
window.ticker.client.updateData =
function (data) {
try {
if (viewModelOrder.selectedInstrument == data.symbol) {
viewModelOrder.updatePrice(data.ask.toFixed(5), data.bid.toFixed(5));
}
var tr = $("#marketWatchGrid").find("tr:contains('" + data.symbol + "')");
var bg = '';
if (data.direction == 1) {
bg = '154,240,117';
}
else {
bg = '255,148,148';
}
tr.find("td:nth-child(2)").html(data.ask.toFixed(5));
tr.find("td:nth-child(3)").html(data.bid.toFixed(5));
var current = tr.css('backgroundColor');
tr.animate({ backgroundColor: 'rgb(' + bg + ')' }, 150)
.animate({ backgroundColor: current }, 150)
} catch (e) {
//console.log("exception: " + e.message);
}
}
更新が頻繁すぎる場合、当然、次の行は、前回の呼び出しで開始されたアニメーション中に tr の背景色を取得します。
var current = tr.css('backgroundColor');
そのため、更新が頻繁に発生すると、行の元の背景色が失われます。前に開始したアニメーションをキャンセルすることはできますか?
ありがとう、