こんにちは、RubyOnRails で 1 つのサイトを作成しています。クライアント側で一部のコンテンツを表示する際に問題があります。私がやりたいのは、10 秒ごとにニュースが変わるニュースのようなものです。私がやったことは、サーバーからニュースを取得する ajax を作成したことです。サーバーは json 応答で配列を返します。これで、クライアント側にすべてのニュース配列があり、10 秒間隔で 1 つずつ表示したいと考えています。このコードを試してみましたが、最後のニュース以外は何も表示されません。
function get_news(){
$.ajax({
url : "my.json",
success:function(data){
// data is array of json like [{"html" : "dfsf"},{"html":"ddd"}]
news_change(data);
}
});
}
get_news();
function news_change(feed){
$.each(feed,function(index,f){
var feed_html = f.html;
$('#news_div').fadeOut('slow', function(){
$('#news_div').html(feed_html);
$('#news_div').fadeIn('slow');
});
sleep(10000);
});
}
function sleep(milliseconds) {
var start = new Date().getTime();
for (var i = 0; i < 1e7; i++) {
if ((new Date().getTime() - start) > milliseconds){
break;
}
}
}
このコードを実行すると、最後のニュースのみが表示されます。また、ブラウザがハングします。なぜこれがなぜなのか教えてください。