嗨,我正在 RubyOnRails 中创建一个站点。我在客户端显示一些内容时遇到问题。我想要做的就像新闻一样,每 10 秒后,新闻就会改变。我所做的是我做了一个 ajax 从我的服务器获取新闻,服务器在 json 响应中返回数组。现在我在客户端拥有了所有的新闻数组,我想以 10 秒的间隔一个一个地显示。我已尝试使用此代码,但除了最新消息外,它没有显示任何内容。
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;
}
}
}
当我执行此代码时,它只显示最后的新闻。它还挂起我的浏览器。请告诉我这是为什么?