jStockticker の html ページを以下に示します。
<div id="ticker" class="stockTicker" style="width: 100%">
<span class="quote">Stock Quotes: </span>
<span id="tickerValues-AAPL">
<span class="up">
<span class="quote">AAPL</span>
462.12
</span>
<span class="down">
<span class="quote">AAPL</span>
232.32
</span>
<span class="eq">
<span class="quote">AAPL</span>
451.52
</span>
</span>
<span id="tickerValues-GOOG">
<span class="up">
<span class="quote">GOOG</span>
623.12
</span>
<span class="down">
<span class="quote">GOOG</span>
502.32
</span>
<span class="eq">
<span class="quote">GOOG</span>
545.52
</span>
</span>
</div>
そしてjQuery imを使用して、ajaxでリアルタイムの値を更新します
$(document).ready(function() {
$("#ticker").jStockTicker({interval: 45});
var i = setInterval(function ()
{
$.ajax({
type : "POST",
url : 'http://localhost:8080/Data.xhtml',
dataType : "json",
success: function(data) {
$.each(data, function(i, item) {
if(data[i].LastT == "+"){
$("span[id*='tickerValues-"+data[i].Symbol+"']").html("<span class=\"up\"><span class=\"quote\">"+data[i].Symbol+"</span> "+data[i].LastTPrice+"</span>");
}else if(data[i].LastT == "-"){
$("span[id*='tickerValues-"+data[i].Symbol+"']").html("<span class=\"down\"><span class=\"quote\">"+data[i].Symbol+"</span> "+data[i].LastTPrice+"</span>");
}else if(data[i].LastT == " "){
$("span[id*='tickerValues-"+data[i].Symbol+"']").html("<span class=\"eq\"><span class=\"quote\">"+data[i].Symbol+"</span> "+data[i].LastTPrice+"</span>");
}
});
$("#ticker").jStockTicker({interval: 45});
},
error : function() {
alert("");
}
});
return false;
}, 6000);
});
問題は、更新が発生すると、ティッカーのスクロールが最初に戻り、スクロールを継続しながら更新された値を取得するのではなく、スクロールを開始することです。