“MediaWiki:Common.js”的版本间的差异
来自UtaWiki
(未显示1个用户的1个中间版本) | |||
第30行: | 第30行: | ||
var rand; | var rand; | ||
var index=0; | var index=0; | ||
− | if(m>n||m<0||n<0||size<0 | + | if(m>n||m<0||n<0||size<0){ |
return; | return; | ||
} | } | ||
− | for(var i=0;i< | + | else if(n-m-1<size){ |
− | + | for(var i=0;i<n-m;i++){ | |
− | rand=Math.floor(Math.random()*(n-m)+m); | + | rands[i]=i; |
+ | } | ||
+ | } | ||
+ | else { | ||
+ | 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; | return rands; | ||
第63行: | 第70行: | ||
for(var i=0;i<size;i++){ | for(var i=0;i<size;i++){ | ||
$("#uw-mainpage-dyk li").eq(randsDyk[i]).css("display","list-item"); | $("#uw-mainpage-dyk li").eq(randsDyk[i]).css("display","list-item"); | ||
+ | } | ||
+ | } | ||
+ | |||
+ | /* 首页显示Today */ | ||
+ | function showToday(size) { | ||
+ | var m=0; | ||
+ | var n=$("#uw-mainpage-today dt").length; | ||
+ | var randsToday = genRandom(m,n,size); | ||
+ | $("#uw-mainpage-today dt").css("display","none"); | ||
+ | $("#uw-mainpage-today dd").css("display","none"); | ||
+ | for(var i=0;i<size;i++){ | ||
+ | $("#uw-mainpage-today dt").eq(randsToday[i]).css("display","block"); | ||
+ | $("#uw-mainpage-today dd").eq(randsToday[i]).css("display","block"); | ||
} | } | ||
} | } | ||
第71行: | 第91行: | ||
showLyric(1); | showLyric(1); | ||
showDyk(5); | showDyk(5); | ||
+ | showToday(5); | ||
}) | }) |
2014年7月20日 (日) 00:48的最后版本
/* 此处的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){ return; } else if(n-m-1<size){ for(var i=0;i<n-m;i++){ rands[i]=i; } } else { 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; } /* 首页显示Lyric Collection */ function showLyric(size) { var m=0; var n=$("#uw-mainpage-lyric dl").length; var randsLyric = genRandom(m,n,size); $("#uw-mainpage-lyric dl").css("display","none"); for(var i=0;i<size;i++){ $("#uw-mainpage-lyric dl").eq(randsLyric[i]).css("display","block"); } } /* 首页显示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"); } } /* 首页显示Today */ function showToday(size) { var m=0; var n=$("#uw-mainpage-today dt").length; var randsToday = genRandom(m,n,size); $("#uw-mainpage-today dt").css("display","none"); $("#uw-mainpage-today dd").css("display","none"); for(var i=0;i<size;i++){ $("#uw-mainpage-today dt").eq(randsToday[i]).css("display","block"); $("#uw-mainpage-today dd").eq(randsToday[i]).css("display","block"); } } /* 页面载入后执行: */ $(function(){ lyricLayout(); showLyric(1); showDyk(5); showToday(5); })