Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/402.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/73.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/perl/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 随机div类顺序_Javascript_Jquery_Class_Html_Random - Fatal编程技术网

Javascript 随机div类顺序

Javascript 随机div类顺序,javascript,jquery,class,html,random,Javascript,Jquery,Class,Html,Random,正如许多人建议的那样,我采纳了他们的建议,并对我的问题进行了改革。我拿出了很多代码,现在已经显示了最小值。希望这足够清楚,可以重新提出我的问题 我有以下几把小提琴: 使用以下HTML: <div id="main" tabindex="1"> <div class="tile tile1" block-id="1" style-id="1" style="left:0px; top:0px"></div> &l

正如许多人建议的那样,我采纳了他们的建议,并对我的问题进行了改革。我拿出了很多代码,现在已经显示了最小值。希望这足够清楚,可以重新提出我的问题

我有以下几把小提琴:

使用以下HTML:

<div id="main" tabindex="1">
            <div class="tile tile1" block-id="1" style-id="1" style="left:0px; top:0px"></div>
            <div class="tile tile3" block-id="2" style-id="2" style="left:100px; top:0px"></div>
            <div class="tile tile1" block-id="3" style-id="1" style="left:200px; top:0px"></div>
            <div class="tile tile2" block-id="4" style-id="2" style="left:350px; top:0px"></div>
            <div class="tile tile2" block-id="5" style-id="2" style="left:0px; top:100px"></div>
            <div class="tile tile1" block-id="6" style-id="1" style="left:100px; top:100px"></div>
</div>
​如何让div的类以随机顺序显示

希望问题现在更清楚


非常感谢首先,您需要一个tile类数组

var tiles = [],
tile_re = /tile(\d+)/;

$('.tile').each(function(i) {
    tiles[i] = this.className.match(tile_re)[0];
});
然后,需要洗牌类数组:

function shuffle(a)
{
  var t;

  for (var i = a.length - 1; i > 0; --i) {
    var p = Math.floor(Math.random() * (i + 1));
    if (p !== i) {
      t = a[i];
      a[i] = a[p];
      a[p] = t;
    }
  }
}

shuffle(tiles);
最后,将结果合并回:

$('.tile').each(function(i) {
  this.className = 'tile ' + tiles[i];
});

这是一个荒谬的代码量审查演示。特别是因为您还没有定义什么是
shuffle样式
甚至意味着什么,或者在演示的上下文中一个层或级别意味着什么。演示应该缩小到只显示足够的代码来显示问题,而不是整个应用程序。当然,您可以删除大部分呈现代码并替换为静态html,只需要足够的脚本来处理您要做的事情。我不同意代码的数量。我拨弄它以获得额外的支持。删除它或其中的注释会使事情变得更加模糊。尽管如此,我还是发现了一个书面错误。我修补了这个部门的等级,而不是它的风格。更正了这一点,并添加了一个额外的HTMLexample@Maurice:如果您想了解如何在jQuery中执行某个特定操作,请提供问题的最简单版本。想象一下,你是一名计算机初级课程第一天的老师。你将如何向学生展示它,以便他们准确地理解问题的本质(在问他们或教他们如何解决这类基本问题之前)?这是关于Stackoverflow的提问方式。研究这个问题,直到你完全理解它,把它简化为最简单的形式。仍然完全不知道你想要洗牌什么,这些类的来源等等。解释一点也不清楚。不同意所有你想要的,但直到你能提供最简单的演示,只需要提出问题,删除不相关的代码,以及一个结构良好的解释,怀疑你会发现许多人建议的帮助,我已经采纳了他们的建议,并改革了我的问题。我拿出了很多代码,现在已经显示了最小值。希望这是足够的和清楚的,足以重新打开我的问题。谢谢这是完美的作品。如果其他人想看到它的实际应用,我已经做了一个小动作:
$('.tile').each(function(i) {
  this.className = 'tile ' + tiles[i];
});