“MediaWiki:Common.js”的版本间的差异

来自UtaWiki
跳转至: 导航搜索
 
(未显示1个用户的4个中间版本)
第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) {
 
function genRandom(m,n,size) {
 
var rands=new Array();
 
var rands=new Array();
 
var rand;
 
var rand;
 
var index=0;
 
var index=0;
if(m>n||m<0||n<0||size<0||(n-m+1)<size){
+
if(m>n||m<0||n<0||size<0){
 
return;
 
return;
 
}
 
}
for(var i=0;i<size;i++){
+
else if(n-m-1<size){
do {
+
for(var i=0;i<n-m;i++){
rand=Math.floor(Math.random()*(n-m)+m);
+
rands[i]=i;
 
}
 
}
while(function(){
+
}
if(rands.length==0){return false;}
+
else {
for(var j=0;j<rands.length;j++){
+
for(var i=0;i<size;i++){
if(rands[j]==rand){return true;}
+
do {
 +
rand=Math.floor(Math.random()*(n-m)+m);
 
}
 
}
return false;
+
while(checkDup(rand,rands));
});
+
rands[index]=rand;
rands[index]=rand;
+
index++;
index++;
+
}
 
}
 
}
 
return rands;
 
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");
 +
}
 
}
 
}
  
第46行: 第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");
 
}
 
}
 
}
 
}
第52行: 第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);
})