【问题标题】:Add html elements randomly inside rows在行内随机添加 html 元素
【发布时间】:2015-06-23 23:57:03
【问题描述】:

我有一个大网格,用于时间线视图。我想要的是下一个 div 随机添加到行(不是所有行)中,以便网格充满彩色框。 div 是:

    <div class="bar ganttRed" id="b4" style="width: 330px;">
        <div class="label" style="color: rgb(191, 191, 191); float: left; margin-left: 23.7px;"> 2836DE
        </div>
    </div>

    <div class="bar ganttGreen" id="b6" style="width: 66px;">
        <div class="label" style="color: rgb(61, 61, 61); float: left; margin-left: 14px;"> 2142 FG
        </div>
    </div>

我只是不知道该怎么做。

And check out my Jsfiddle for viewing the html grid.

【问题讨论】:

  • 有什么要求?
  • 我只想用两个彩色 div 随机填充网格,但框不能相互重叠。

标签: jquery random repeat tabular


【解决方案1】:

不确定这是你想要的,但你应该明白...

$('.div-table-row').each(function () {

    var color = getRandomColor();
    var bar = '<div class="bar" style="background-color: ' + color + '; width: ' + (Math.floor(Math.random() * 200) + 80) + 'px;"><div class="label">' + color + '</div></div>';
    $('.div-table-td:eq(' + Math.floor(Math.random() * 15) + ')', this).html(bar);
});

function getRandomColor() {
    var letters = '0123456789ABCDEF'.split('');
    var color = '#';
    for (var i = 0; i < 6; i++) {
        color += letters[Math.floor(Math.random() * 16)];
    }
    return color;
}

JSFiddle demo

编辑:

2条模式:

JSFiddle demo

【讨论】:

  • 非常感谢您的回答。如何在每一行上重复多个小节?
  • @MrUpsidown 不错的解决方案!
  • 有没有一种巧妙的方法可以在不重复代码的情况下连续显示 20 条?
  • 你说的条不应该重叠。您想如何在包含 18 个元素的一行中显示 20 个条形?
  • 是的,但是为了论证,我们有 200 行而不是 18 行。
猜你喜欢
  • 1970-01-01
  • 2013-06-10
  • 2012-11-13
  • 2018-04-28
  • 2016-02-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多