方法1

<!DOCTYPE html>
<html lang="en">
<head>
  <script type="text/javascript">
    window.onload=function(){
      var arr = new Array(1,2,3,4,5,6);
      var ul = document.getElementsByTagName('ul')[0];
      var len1 = arr.length;
      var len = len1;
      var index = parseInt(Math.random()*len1);
      for(var i=0;i<len1;i++){
        ul.appendChild(ul.children[index]);
        arr.pop(index);
        len = arr.length;
        index = parseInt(Math.random()*len);
      }
    };
  </script>
 </head> 
 <body>
  <ul>
    <li>苹果</li>
    <li>桔子</li>
    <li>香蕉</li>
    <li>石榴</li>
    <li>桃子</li>
    <li>菠萝</li>
  </ul>
 </body>
</html>

方法2

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<script>
  window.onload = function(){
    var arr = [['<li>1</li>'],['<li>2</li>'],['<li>3</li>'],['<li>4</li>'],['<li>5</li>'],['<li>6</li>']];
    var result = '';
    var len = arr.length;
    for(var i=0;i<len ;i++){
      var rand = parseInt(arr.length*Math.random());
      result += arr[rand];
      arr.splice(rand,1);
    }
    document.getElementsByTagName("ul")[0].innerHTML= result ;
  };
  //arr 数组就是ul里的内容组成的字符串数组
</script>
</head>
<body>
  <ul></ul>
</body>
</html>

方法3

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<script type="text/javascript">
  window.onload = function(){
    var ul = document.getElementsByTagName("ul")[0];
    var lis = document.getElementsByTagName("li");
    var arr = [];
    for(var i = 0; i < lis.length; i++){
      arr.push(lis[i]);
    }
    arr.sort(function(a,b){
      /*var rand = Math.random();
      if(rand > 0.5) {
        return 1;
      }else if(rand < 0.5){
        return -1;
      } else {
        return 0;
      }*/
      return Math.random()>.5 ? -1 : 1;
      //通过随机产生0到1的数,然后判断是否大于0.5从而影响排序,产生随机性的效果。
    });
    for(var i = 0; i < arr.length; i++){
      ul.appendChild(arr[i]);
    }
  }
</script>
</head>
<body>
  <ul>
    <li>1</li>
    <li>2</li>
    <li>3</li>
    <li>4</li>
    <li>5</li>
  </ul>
</body>
</html>

javascript实现ul中列表项随机排列的更多相关文章

  1. CSS中列表项list样式

    CSS列表属性 属性 描述 list-style-属性 用于把所有用于列表的属性设置于一个声明中. list-style-image 将图象设置为列表项标志. list-style-position ...

  2. (转) Wp7 list 中列表项多样化的解决方案-Custom DataTemplateSelector

    本文转自: http://www.cnblogs.com/sonyye/archive/2012/03/03/2378825.html 在这篇文章中,我将解释如何在Windows Phone 7中创建 ...

  3. 简单jQuery实现选项框中列表项的选择

    这段代码非常的简单,仅仅作为自己的一个小小的记录! ok,先上一个简单的图例,效果如下(注意:这只是一个简单的例子,不过可以根据这个简单的例子,变化出更为复杂的效果)! 代码也非常的简单,如下所示(注 ...

  4. 利用JavaScript去掉数组中重复项

    利用JavaScript的object的特性,我们可以非常容易的实现将一个数组的重复项去掉. object的特性是:key一定是唯一的. 把数组重复项去掉: 1 将数组转换成一个object对象,数组 ...

  5. 如何修改html中列表项li所显示的圆点的颜色?,以及相关样式的设定

    这是li标签自带的圆点的颜色改变,代码如下: .centerbt li{ content:"."; color:gray; } 在标签li后面加入“@”符号,这里都会使用posit ...

  6. 从0开始学FreeRTOS-(列表与列表项)-3

    # FreeRTOS列表&列表项的源码解读     第一次看列表与列表项的时候,感觉很像是链表,虽然我自己的链表也不太会,但是就是感觉很像. 在`FreeRTOS`中,列表与列表项使用得非常多 ...

  7. 从0开始学FreeRTOS-(列表&列表项)-6

    # FreeRTOS列表&列表项的源码解读 第一次看列表与列表项的时候,感觉很像是链表,虽然我自己的链表也不太会,但是就是感觉很像. 在FreeRTOS中,列表与列表项使用得非常多,是Free ...

  8. FreeRTOS列表和列表项

    FreeRTOS中的列表和列表项类似于数据结构中的链表和节点: 相关的文件是list.c和list.h两个文件: List_t列表结构体 具体定义如下: /* * Definition of the ...

  9. javascript和jquery中获取列表的索引

    网页中的图片预览一般都需要获取图片列表的索引,或则图片对应的标签的索引,以此达到点击相应的标签获取索引,显示相应的图片 列表有很多种表达的方式,一种是 <ul> <li>苹果& ...

随机推荐

  1. windows安装ActiveMQ以及点对点以及发布订阅

    一.MQ产品的分类 1.RabbitMQ 是使用Erlang编写的一个开源的消息队列,本身支持很多的协议:AMQP,XMPP, SMTP, STOMP,也正是如此,使的它变的非常重量级,更适合于企业级 ...

  2. 【PAT甲级】1034 Head of a Gang (30 分)

    题意: 输入两个正整数N和K(<=1000),接下来输入N行数据,每行包括两个人由三个大写字母组成的ID,以及两人通话的时间.输出团伙的个数(相互间通过电话的人数>=3),以及按照字典序输 ...

  3. Manthan, Codefest 19 (open for everyone, rated, Div. 1 + Div. 2)D(树状数组)

    //树状数组中数组的特性,有更巧妙的方法.//我们知道在树状数组中,对于数组tree[i],它所维护的区间为[i−lowbit(i)+1,i]//所以对于tree[2^i],它所维护的区间就为[1,2 ...

  4. python学习 —— 使用QRCode包生成二维码

    我使用的是python3,最简单的方法就是使用QRCode,如果没有安装QRCode package,那么可以使用下面命令进行安装: pip3 install QRCode 然后,测试一下: from ...

  5. python学习 —— 字符画

    代码: import os from PIL import Image WIDTH = int(250) HEIGHT = int(250/2) ascii_char = list('toahkbdp ...

  6. 「ZJOI2007」捉迷藏

    题目描述 给出一棵\(N\)个有色(黑白,黑色对应关灯,白色对应开灯)节点的树以及\(M\)次操作,每次操作将改变一个节点的颜色或者求出树上最远的两个白点距离 基本思路 \(60pts\)做法 这道题 ...

  7. NSIndexPath等结构体的比较

    1.NSIndexPath的比较方式,需要将结构体内部的属性一一对比.比如, if ((indexPath.section == self.selectIndexPath.section) & ...

  8. python第三方库介绍

  9. 【转载】如何快速转载CSDN中的博客

    前言   对于喜欢逛CSDN的人来说,看别人的博客确实能够对自己有不小的提高,有时候看到特别好的博客想转载下载,但是不能一个字一个字的敲了,这时候我们就想快速转载别人的博客,把别人的博客移到自己的空间 ...

  10. 新闻网大数据实时分析可视化系统项目——13、Cloudera HUE大数据可视化分析

    1.Hue 概述及版本下载 1)概述 Hue是一个开源的Apache Hadoop UI系统,最早是由Cloudera Desktop演化而来,由Cloudera贡献给开源社区,它是基于Python ...