【发布时间】:2013-06-20 21:44:21
【问题描述】:
我有一些脚本从服务器调用 AJAX 信息,然后将信息显示到页面上的块中。并且每 8 秒这些块就会淡化为一组新的信息。
来自服务器的信息存储在一个固定队列中,每 8 秒向它推送新项目。
对于每个块,我让它从该数组中抓取一个随机项目来显示。唯一的问题是我的块有很多重复。
有没有办法检查该数组项是否已从另一个块调用,如果是,它将继续查找另一个未使用的项。
var queue = FixedQueue( 50 );
$(document).ready(function() {
$('.submit').click(function(){
setInterval(function(){
queue.push(fulltweet);
},8000);
});
});
setInterval(function(){
randotime = intervals[Math.floor(Math.random()*intervals.length)];
$('.block1', '.photo1:nth-child(1)').queue(function(){
$(this).hide();
$(this).html(queue[0]);
$(this).fadeIn(2000);
$(this).delay(randotime);
$(this).dequeue();
});
$('.block1', '.photo1:nth-child(1)').fadeOut(2000);
},randotime);
我正在根据队列的长度创建一个随机数,并使用它来调用 queue[rando],但我再次在块中得到重复。
【问题讨论】:
-
你能发布你的代码吗?
-
你为什么选择一个随机的而不是第一个?当您从队列中读取第一个值时,该值通常也被删除,第二个值成为第一个值。你永远不会选择两次相同的值。
标签: javascript arrays random queue detection