AI智能
改变未来

JQuery 随机数问题


随机排序

<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>

第一种方法比较容易,且写法简单。

第二种的话可以是按照个数进行随机排序,也不是太难,如果按照第二种方法是比较严谨一些,真正意义上的随机。

如果发现问题可以私聊我,谢谢;

赞(0) 打赏
未经允许不得转载:爱站程序员基地 » JQuery 随机数问题