“MediaWiki:Common.js”的版本间的差异
来自UtaWiki
| (未显示1个用户的3个中间版本) | |||
| 第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){ | ||
| + | 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 */ | /* 首页显示Do You Know */ | ||
| 第23行: | 第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"); | ||
} | } | ||
} | } | ||
| 第29行: | 第89行: | ||
$(function(){ | $(function(){ | ||
lyricLayout(); | lyricLayout(); | ||
| + | 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);
})