我有一些jQuery在这里:
$('#ticker1').hide();
$('#ticker2').hide();
$('#ticker3').hide();
$("#ticker").oneTime(2000,function(i) { /* Do the first pull out once */
var randomNum = Math.floor(Math.random()*3); /* Pick random div to show */
$('div#ticker div:eq(' + randomNum + ')').show();
$("#ticker").animate({right: "0"}, {duration: 800 });
});
$("#ticker").oneTime(20000,function(i) { /* Do the first retract once */
$("#ticker").animate({right: "-450"}, {duration: 800});
$("#ticker").oneTime(1000,function(i) {
$('#ticker1').hide();
});
});
$("#ticker").everyTime(21500,function(i) { /* Everytime timer gets to certain point */
var randomNum = Math.floor(Math.random()*3);
$('div#ticker div:eq(' + randomNum + ')').show();
$("#ticker").animate({right: "0"}, {duration: 800}); /* Pull out right away */
$("#ticker").oneTime(20000,function(i) { /* Retract once */
$("#ticker").animate({right: "-450"}, {duration: 800});
});
$("#ticker").oneTime(21000,function(i) { /* Hide all divs once */
$('#ticker1').hide();
$('#ticker2').hide();
$('#ticker3').hide();
});
});
我试图让它在第一次拉出时显示一个随机div,这已经在代码的第一部分完成了。但是在那之后我现在每次都抓住一个随机div(3个div中)。我需要更改代码的这一部分,以便查看3个div的列表,并且每次都进入下一个div。
因此,如果第一次拉出的div是2然后每次都会按此顺序进行:div 3,div 1,div 2,div 3,div 1等。
以下是现在正在进行的演示:treethink.treethink.net/backup
谢谢, 涉
答案 0 :(得分:0)
而不是每次生成一个新的随机数,先生成它然后用mod 3递增它,这样你就会按顺序得到下一个div。
例如,如果您的随机数生成2,则下一个将是3%3 = 0,然后1%3 = 1然后2%3 = 2,依此类推。
var randomNum = Math.floor(Math.random()*3);
$("#ticker").everyTime(21500,function(i) { /* Everytime timer gets to certain point */
randomNum = (randomNum+1)%3;
$('div#ticker div:eq(' + (randomNum) + ')').show();
$("#ticker").animate({right: "0"}, {duration: 800}); /* Pull out right away */
$("#ticker").oneTime(20000,function(i) { /* Retract once */
$("#ticker").animate({right: "-450"}, {duration: 800});
});
$("#ticker").oneTime(21000,function(i) { /* Hide all divs once */
$('#ticker1').hide();
$('#ticker2').hide();
$('#ticker3').hide();
});
});