js sort()和Math.random()随机排列代码

js sort()和math.random()随机排列代码

<style>
fieldset{border:1px solid #ccc;width:720px; padding:15px}
fieldset legend{ background:#a40000; color:#fff;text-align:center; padding:0 8px; margin-left:25px}
h5 span{margin:0 6px;letter-spacing:0; font-weight:normal;font-size:12px; font-family:"microsoft yahei"; padding:3px 5px}
.color_0{background:#f09;color:#fff}
.color_1{background:#96c455;color:#fff}
.color_2{background:#4290a6;color:#fff}
.color_3{background:#dfebf7;color:#000}
.color_4{background:#4b936e;color:#fff}
.color_5{background:black;color:#fff}
.color_6{background:blue;color:#fff}
#demo td,#demo th { font-family: 5fae8f6f96c59ed1; }
</style>

<script>

window.onload=function(){
 setinterval('randomfun()',3000)
}
function randomfun(){
 var h5=document.getelementsbytagname('h5')[0]
 var spanitem=h5.getelementsbytagname('span');
 var random=function(){return math.random()>0.5 ? -1 : 1};//为sort()传入的随机排列参数
 var spanarr=new array();//用来存放元素的数组
 var css教程arr=new array();//用来存放样式值的数组
 var k,m;
 for(var i=0; i<spanitem.length; i++){
  spanarr.push(spanitem[i]);//将元素存入元素数组
  cssarr.push(i);//将对应的下标值存入样式值数组
 }
 spanarr.sort(random);//打乱元素数组排列顺序
 cssarr.sort(random);//打乱样式值数组排列顺序
 for(k=0; k<spanarr.length; k++){
  h5.appendchild(spanarr[k]);//将打乱后的元素重新插入到页面中
 }
 for(m in cssarr){
  spanarr[m].classname='color_'+cssarr[m];//将打乱后的样式加给元素
 }
}
</script>

<div id="demo">
<fieldset>
 <legend>利用sort()和math.random()实现元素的随机排列</legend>
 <h5><span class="color_0">刷新我会变~</span><span class="color_1">走走停停看看</span ><span class="color_2">设备[nikon d3000]</span ><span class="color_3">[镜头]18-55mm vr</span ><span class="color_4">很业余,但很有乐趣</span ><span class="color_5">微距拍摄</span><span class="color_6">仗剑走天涯</span></h5>

</fieldset>
</div>

利用math.random()产生随机数, 再通过sort()进行随机排列.

function randomfun(){
 var h5=document.getelementsbytagname('h5')[0]
 var spanitem=document.getelementsbytagname('span');
 var random=function(){return math.random()>0.5 ? -1 : 1};//为sort()传入的随机排列参数
 var spanarr=new array();//用来存放元素的数组
 var cssarr=new array();//用来存放样式值的数组
 var k,m;
 for(var i=0; i<spanitem.length; i++){
  spanarr.push(spanitem[i]);//将元素存入元素数组
  cssarr.push(i);//将对应的下标值存入样式值数组
 }
 spanarr.sort(random);//打乱元素数组排列顺序
 cssarr.sort(random);//打乱样式值数组排列顺序
 for(k=0; k<spanarr.length; k++){
  h5.appendchild(spanarr[k]);//将打乱后的元素重新插入到页面中
 }
 for(m in cssarr){
  spanarr[m].classname='color_'+cssarr[m];//将打乱后的样式加给元素
 }
}

时间: 2024-12-21 21:23:52

js sort()和Math.random()随机排列代码的相关文章

使用js Math.random()函数生成n到m间的随机数字

 摘要: 本文讲解如何使用js生成n到m间的随机数字,主要目的是为后期的js生成验证码做准备. Math.random()函数返回0和1之间的伪随机数,可能为0,但总是小于1,[0,1) 生成n-m,包含n但不包含m的整数: 第一步算出 m-n的值,假设等于w 第二步Math.random()*w 第三步Math.random()*w+n 第四步parseInt(Math.random()*w+n, 10) 生成n-m,不包含n但包含m的整数:​ 第一步算出 m-n的值,假设等于w 第二步Mat

使用js Math.random()函数生成n到m间的随机数字_javascript技巧

摘要: 本文讲解如何使用js生成n到m间的随机数字,主要目的是为后期的js生成验证码做准备. Math.random()函数返回0和1之间的伪随机数,可能为0,但总是小于1,[0,1) 生成n-m,包含n但不包含m的整数: 第一步算出 m-n的值,假设等于w 第二步Math.random()*w 第三步Math.random()*w+n 第四步parseInt(Math.random()*w+n, 10) 生成n-m,不包含n但包含m的整数:​ 第一步算出 m-n的值,假设等于w 第二步Math

浅析js随机函数Math.random()

举例子来说:一个打靶游戏,子弹每次都命中准心所示位置是不科学的,加上抖动误差,会使真实感更加强烈;再如,抽奖大转盘程序,每当转盘停止转动时,指针恰好都指向奖品图片的正中点,人们会觉得这个转盘很不自然,指向一个随机位置效果要好得多. 学过 JavaScript 的人都知道,使用随机数很简单,只要一个 Math.random() 就可以获得一个大于等于 0 小于 1 的浮点数.从一个集合中随机选择对象时,使用浮点数离散化后的结果作为选择集的索引: var objects = [...]; var r

js中Math.random()生成指定范围数值的随机数

今天有又网友问到我 JavaScript 怎么生成指定范围数值随机数.Math.random() 这个方法相信大家都知道,是用来生成随机数的.不过一般的参考手册时却没有说明如何用这个方法来生成指定范围内的随机数.这次我就来详细的介绍一下Math.random(),以及如何用它来生成制定范围内的随机数. w3school的random()教程 定义和用法 random() 方法可返回介于 0 ~ 1 之间的一个随机数. 语法 Math.random() 返回值 0.0 ~ 1.0 之间的一个伪随机

JS关键字球状旋转效果的实例代码_javascript技巧

有时上网查资料,看到别人的博客上有关键字旋转的效果,觉得蛮不错的.于是网上搜索了一下它的实现,好吧,自己动手写写. HTML: 复制代码 代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w

javascript中Math.random()随机数的例子

定义和用法 random() 方法可返回介于 0 ~ 1 之间的一个随机数. 语法 Math.random() 返回值 0.0 ~ 1.0 之间的一个伪随机数. 打开Node,进入终端命令行模式,输入Math.random():   >Math.random()   0.436846193857491 结果是不是依旧如同往常一样稀松平常的小于1的一个伪随机数跳了出来呢. 这个时候,如果别人问你,还有什么其他方案可以生成随机数么,你会想到神马呢. 逝者如斯夫,不舍昼夜. 如果你继续在终端里输入ne

JS实现随机化快速排序的实例代码

这篇文章介绍了JS实现随机化快速排序的实例代码,有需要的朋友可以参考一下   算法的平均时间复杂度为O(nlogn).但是当输入是已经排序的数组或几乎排好序的输入,时间复杂度却为O(n^2).为解决这一问题并保证平均时间复 杂度为O(nlogn)的方法是引入预处理步骤,它惟一的目的是改变元素的顺序使之随机排序.这种预处理步骤可在O(n)时间内运行.能够起到同样作用的 另一种简单方法是在算法中引入一个随机元素,这可以通过随机地选择拆分元素的主元来实现.随机选择主元的结果放宽了关于输入元素的所有排列

js生成随机数之random函数随机示例

 js生成随机数可以使用JavaScript Math.random()内置函数,下面有个不错的示例,大家可以尝试操作下 JavaScript Math.random()内置函数  random函数返回值  返回0和1之间的伪随机数,可能为0,但总是小于1,[0,1)  random函数示例  //返回随机数  document.write(Math.random());  //返回10-20的随机数  document.write(Math.random()*(20-10)+10);  //返

javascript-js只有Math.random()随机生成,具体怎么用?这种函数会出错么

问题描述 js只有Math.random()随机生成,具体怎么用?这种函数会出错么 js只有Math.random()随机生成,具体怎么用?这种函数会出错么 js只有Math.random()随机生成,具体怎么用?这种函数会出错么 解决方案 Math.random() 方法可返回介于 0 ~ 1 之间的一个随机数,js中Math是一个对象,random是他的方法,直接调用就行. 这个函数不会出错,除非你之前的js代码编写得有问题,导致没有执行Math.random从而没有反应 var r=Mat