Javascript 将随机结果更改为序列
如何将此随机结果更改为从较低数字开始的序列?我是JS新手,尝试过修改,但没有解决方案。我希望任何人都能帮忙Javascript 将随机结果更改为序列,javascript,jquery,Javascript,Jquery,如何将此随机结果更改为从较低数字开始的序列?我是JS新手,尝试过修改,但没有解决方案。我希望任何人都能帮忙 function randomFeed() { var $el = $("#randomFeed"); var random = new Array('news1','news2','news3','news4','news5','news6'); var randomIndex = Math.floor(Math.random() * 4); var new
function randomFeed() {
var $el = $("#randomFeed");
var random = new Array('news1','news2','news3','news4','news5','news6');
var randomIndex = Math.floor(Math.random() * 4);
var newElement = random[randomIndex];
$el.prepend("<tr><td>" + newElement + "</td></tr>").find("tr").first().hide();
$el.find("tr").first().fadeIn();
if ($el.find("tbody tr").length > 20) {
$el.find("tbody tr").last().fadeOut(400, function() {
$(this).remove();
});
}
slimScrollUpdate($el.parents(".scrollable"));
setTimeout(function() {
randomFeed();
}, 3000);
}
试试这个:
news = new Array('news1','news2','news3','news4','news5','news6')
// option 1
news.sort(function() {
return .5 - Math.random();
});
//news = news1,news2,news3,news6,news4,news5
//option 2
len = news.length,
randomNumber = Math.floor((Math.random() * len) + 0);
// randomNumber = 3
part = news.slice(randomNumber, len)
// part = arrnews6,news4,news5
请更准确地说明你的期望/目标是什么 所以你需要连续的新闻幻灯片而不是随机的?请尝试使用全局feedIndex变量
顺便说一句,这个代码在它的状态是非常糟糕的。它每次都会更改DOM以显示新的提要元素。最好渲染显示为“无”的所有元素,并仅切换实际元素的可见性。这是一种常见的模式去掉随机内容,只需将randomIndex设置为递增的计数器变量即可。e、 g.var notsorandomIndex=0;然后是notsorandomIndex++。你的目标是什么?你们所说的“如何将这个随机结果变成一个从较小的数字开始的序列”是什么意思?你们能写更多的脚本把它放在哪里吗。实际上,我对JS的了解较少。我试过你的,但还是失败了。我必须向你学习更多。通过尝试你的,我得到了答案。
var feedIndex = 0;
function randomFeed() {
var $el = $("#randomFeed"),
news = new Array('news1','news2','news3','news4','news5','news6'),
newElement = news[feedIndex++ % news.length];
//console.log(newElement);
$el.prepend("<tr><td>" + newElement + "</td></tr>").find("tr").first().hide();
$el.find("tr").first().fadeIn();
if ($el.find("tbody tr").length > 20) {
$el.find("tbody tr").last().fadeOut(400, function() {
$(this).remove();
});
}
slimScrollUpdate($el.parents(".scrollable"));
setTimeout(function() {
randomFeed();
}, 3000);
}