javascript - 使用 javascript 随机整数填充顺序 html 区域

标签 javascript html css random shuffle

我正在尝试用随机排序的内容更改顺序 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/

相关文章:

javascript - IE 与谷歌浏览器

html - 在使用 z-index 显示之前,让图层显示为透明的问题

javascript - 使用日历在产品页面上的 magento 中出现 "TypeError: triggerElement is null "错误

javascript - 可能是 : javascript extract value from c:forEach tag?

html - 以相等的宽度和边距 flex

javascript - anchor 标记下载属性不起作用 :Bug in Chrome 35. 0.1916.114

javascript - 高度 : auto calculating incorrectly if element is hidden when dom loads, 然后稍后显示

javascript - 滚动底层图像时在覆盖的 div 上滚动内容

javascript - 理解 JavaScript 代码 - 将值传递给已由具有值的函数定义的对象

javascript - 无法通过 <editor> 元素启用 XUL 中的 Midas(Gecko 富文本编辑器)