“MediaWiki:Common.js”的版本间的差异
来自UtaWiki
第14行: | 第14行: | ||
/* 生成不重复随机数 */ | /* 生成不重复随机数 */ | ||
/* Ref: http://blog.csdn.net/loyopp/article/details/17377909 */ | /* Ref: http://blog.csdn.net/loyopp/article/details/17377909 */ | ||
+ | function checkDup(rand,rands) { | ||
+ | if(rands.length==0){ | ||
+ | return false; | ||
+ | } | ||
+ | for(var i=0;i<rands.length;i++){ | ||
+ | if(rands[i]==rand){ | ||
+ | return true; | ||
+ | } | ||
+ | } | ||
+ | return false; | ||
+ | } | ||
+ | |||
+ | function genRandom(m,n,size) { | ||
+ | var rands=new Array(); | ||
+ | var rand; | ||
+ | var index=0; | ||
+ | if(m>n||m<0||n<0||size<0||(n-m+1)<size){ | ||
+ | return; | ||
+ | } | ||
+ | for(var i=0;i<size;i++){ | ||
+ | do { | ||
+ | rand=Math.floor(Math.random()*(n-m)+m); | ||
+ | } | ||
+ | while(checkDup(rand,rands)); | ||
+ | rands[index]=rand; | ||
+ | index++; | ||
+ | } | ||
+ | return rands; | ||
+ | } | ||
/* 首页显示Do You Know */ | /* 首页显示Do You Know */ |
2014年7月18日 (五) 00:22的版本
/* 此处的JavaScript将加载于所有用户每一个页面。 */ function lyricLayout(){ p=$('.poem'); for (i=0;i<p.length;i++) { x=$('.poem').eq(i); y=$(x).prev(); $(y).add(x).wrapAll('<div class="lyric"></div>'); } $('div.lyric').wrapAll('<div class="lyrics"></div>'); } /* 生成不重复随机数 */ /* Ref: http://blog.csdn.net/loyopp/article/details/17377909 */ function checkDup(rand,rands) { if(rands.length==0){ return false; } for(var i=0;i<rands.length;i++){ if(rands[i]==rand){ return true; } } return false; } function genRandom(m,n,size) { var rands=new Array(); var rand; var index=0; if(m>n||m<0||n<0||size<0||(n-m+1)<size){ return; } for(var i=0;i<size;i++){ do { rand=Math.floor(Math.random()*(n-m)+m); } while(checkDup(rand,rands)); rands[index]=rand; index++; } return rands; } /* 首页显示Do You Know */ function showDyk(size) { var m=0; var n=$("#uw-mainpage-dyk li").length; var randsDyk = genRandom(m,n,size); $("#uw-mainpage-dyk li").css("display","none"); for(var i=0;i<size;i++){ $("#uw-mainpage-dyk li").eq(randsDyk[i]).css("display","list-item"); } } /* 页面载入后执行: */ $(function(){ lyricLayout(); showDyk(5); })