随机排序
<li>
<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\"><html xmlns=\"http://www.w3.org/1999/xhtml\"><head><title>抽奖工具网页版</title><script type=\"text/javascript\" src=\"Files/jquery-1.4.1.min.js\"></script><script type=\"text/javascript\">$(function () {$(\"ul li\").each(function () {if (parseInt(Math.random() * 2) == 0) {$(this).prependTo($(this).parent());}});});</script></head><body><div class=\"ispost\"><ul><li><div class=\"fanpai\"><h4>111</h4></div></li><li><div class=\"fanpai\"><h4>222</h4></div></li><li><div class=\"fanpai\"><h4>333</h4></div></li><li><div class=\"fanpai\"><h4>444</h4></div></li><li><div class=\"fanpai\"><h4>555</h4></div></li><li><div class=\"fanpai\"><h4>666</h4></div></li><li><div class=\"fanpai\"><h4>777</h4></div></li><li><div class=\"fanpai\"><h4>888</h4></div></li><li><div class=\"fanpai\"><h4>888</h4></div></li><li><div class=\"fanpai\"><h4>888</h4></div></li><li><div class=\"fanpai\"><h4>999</h4></div></li></ul></div></body></html>
发现的问题
有时候如果
<li>
太多的话就会出现:最后一个数值,在第一个或最后一个;
解决方案
$(function () {var arr = $(\'ul li\').toArray();var len = arr.length;var rand = parseInt(Math.random()*(len));$(\'ul li\').each(function(i){$(\'ul\').append($(\'ul li\').eq(rand));rand = parseInt(Math.random()*(len));});// $(\"ul li\").each(function () {// if (parseInt(Math.random() * 2) == 0) {// $(this).prependTo($(this).parent());// }// });});</script>
第一种方法比较容易,且写法简单。
第二种的话可以是按照个数进行随机排序,也不是太难,如果按照第二种方法是比较严谨一些,真正意义上的随机。
如果发现问题可以私聊我,谢谢;