我正在尝试用随机排序的内容更改顺序 div 的内容。效果不是很好。
我有大约 25 <div>
标签,由于其他 javascripts 规范触摸行为,无法使用通常的方法以随机顺序放置。因此,我正在尝试获取那些 <div>
的内容通过设置不同的 innerHTML
来随机化加载文档时的值。
我有一个脚本可以根据需要提供随机整数,但是我无法让它填充有序的 div。
这是我正在使用但不起作用的东西:
ArrayList<Integer> list = new ArrayList<Integer>(25);
for(int i = 0; i < 25; i++)
{
list.add(i);
}
Collections.shuffle(list);
Object[] randomNumbers = (Object[])list.toArray();
function testit() {
for(int i = 0; i < 25; i++)
{
var a = document.getElementById('if'+i);
a.innerHTML = randomNumbers[i];
}
}
我想看到的是这需要我所有的 <div>
具有 id 的 s,例如“if1”“if2”等等,然后设置那个 <div>
的内容与随机数。
我知道document.getElementById('if'+i)
肯定是获取 ID“if1”然后获取 ID“if2”的错误方法,但我不确定还有什么方法可以完成。
基本上我只需要一种方法来填充 25 个绝对位置 <div>
它包含 25 个 HTML 内容 block ,但顺序是随机的。我认为这可以通过将序列号与随机排序的数字配对并将它们绑定(bind)到 <div>
中来完成。身份证。通常我只是用 PHP 来做这件事并且已经完成了但是我需要它作为一个离线移动网络应用程序工作所以我试图用 JS 和 CSS 来做。我绝对愿意接受其他方法。
编辑: 如果上面的代码是 Java 而不是 Javascript,那就是问题所在。然后我想我正在寻找替代方法,在 Javascript 中,生成随机的、非重复的整数并将它们链接到连续的整数,都在 1 到 25 之间
最佳答案
这是一个使用 javascript 的示例实现:
function shuffle(arr){
//simple shuffle algorithm - you can also use other
//we will get simple base index as basis for swapping elements
//we will swap the array elements arr.length times
var index = Math.floor(Math.random() * arr.length);
for(var i=1;i<arr.length; i++) {
var t = arr[i];
arr[i] = arr[index];
arr[index] = t;
}
return arr;
}
//create an array
var numbers =[];
for(var i=0;i<10;i++)
numbers.push(i);
//call the shuffle function
//call this many times to reshuffle elements
numbers = shuffle(numbers);
//document.write(numbers.join(','));
//test
for(var i=0;i<numbers.length;i++)
{
var a = document.getElementById('if'+i);
a.innerHTML = numbers[i];
}
关于javascript - 使用 javascript 随机整数填充顺序 html 区域,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8081151/