利用sort()和Math.random()实现元素的随机排列

一个随机排列元素的方法, 其实之前是在摄影页面写的一个小效果.
查看演示: 点此查看DEMO
实现方法
利用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 ] ; //将打乱后的样式加给元素
    
}
}

转载于:https://www.cnblogs.com/mrthink/archive/2010/09/27/1836405.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值