⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 default.js

📁 如果要连接的数据库文件和当前文件在同一个目录下
💻 JS
📖 第 1 页 / 共 2 页
字号:
var vcmap;
var pcmap;
var tbamap,tbsmap;
var commentListBox;
var postCommentBox;
var commentTipBox;
var msgTipBox;
var postMsgBox;

var xmlDoc;
var bil;
var currentSortId;
var gbTipBox;
var rh;

var sortFlag;
Event.observe(window,"load",init,0);

function init(){
	vcmap=new Mapping();
	pcmap=new Mapping();
	dlmap=new Mapping();
	tbamap=new Mapping();
	tbsmap=new Mapping();
	
	commentListBox=document.createElement("div");
	Element.addClassName(commentListBox,"commentList commentListBox");
	
	postCommentBox=$se("div");
	Element.addClassName(postCommentBox,"commentList postCommentBox");
	
	var dl=$se("dl");
	Element.addClassName(dl,"list postComment");
	dl.appendChild(document.createElementWithText("dt",MultiLang.s191));
	var dd=$se("dd");
	dd.appendChild(document.createElementWithText("span",MultiLang.s192));
	var input=$se("input");
	input.type="text";
	input.maxlength=15;
	dd.appendChild(input);
	dl.appendChild(dd);
	dd=$se("dd");
	dd.appendChild(document.createElementWithText("span",MultiLang.s193));
	var textArea=$se("textarea");
	textArea.cols=6;
	textArea.rows=6;
	dd.appendChild(textArea);
	input=$se("input");
	input.id="btnPostComment";
	input.className="button";
	input.type="button";
	input.value=MultiLang.s194;
	dd.appendChild(input);
	dl.appendChild(dd);
	postCommentBox.appendChild(dl);
	

	//postCommentBox=(document.getElementsByClassName("postCommentBox"))[0];
	
	
	commentTipBox=new TipBox("",{elementName:"div",marginLeft:"15px",marginRight:"15px",marginTop:"0",marginBottom:"10px"});
	msgTipBox=new TipBox("",{marginTop:"10px",padding:"3px",borderStyle:"solid",borderColor:"#888"});
	postMsgBox=$("postMsg");
	if(postMsgBox)postMsgBox.insertBefore(msgTipBox.box,postMsgBox.childNodes[1]);
	externalLinks();

	bil=$("blogItemList");
	currentSortId=0;
	gbTipBox=new TipBox("",{elementName:"div",marginLeft:"10px",marginRight:"10px",paddingLeft:"3px"});

	bil.parentNode.insertBefore(gbTipBox.box,bil);
	gbTipBox.setText("");
	getMenuEffect();
	
	rh=new RefreshHandler();
	rh.check("admin");
	rh.check();
	
	

}
function getMenuEffect(){
	var menu=$("ulMenu");
	for(var i=0;i<menu.childNodes.length;i++){
		menu.childNodes[i].onmouseover=function(){
			Element.addClassName(this,"hover");
		}
		menu.childNodes[i].onmouseout=function(){
			Element.removeClassName(this,"hover");
		}
	}

}


function toggleDl(dt)
{	
	var e=dt.parentNode;
	if(Element.hasClassName(e,"dlClose")){
		Element.removeClassName(e,"dlClose");
		Element.addClassName(e,"dlOpen");
	}
	else{
		Element.removeClassName(e,"dlOpen");
		Element.addClassName(e,"dlClose");
	}
}

function toggleViewComment(topicId,e){try{
	hideCommentTipBox();
	var bi=e.parentNode.parentNode;
	var vcb;
	if(!vcmap.exist(topicId)){
		var tempNode=commentListBox.cloneNode(true);
		bi.parentNode.insertBefore(tempNode,bi.nextSibling);
		vcmap.push(topicId,tempNode);
		vcb=tempNode;
	}
	else vcb=vcmap.getValue(topicId);
	var viewTb=getViewTb(bi);
	if(isTbClose(viewTb)){
		if(isTbOpen(getPostTb(bi)))togglePostCommentBox(topicId,e);
		if(isTbOpen(getTbaTb(bi)))toggleTrackbackAddress(topicId,e);
		if(isTbOpen(getTbsTb(bi)))toggleTrackbacks(topicId,e);
		genCommentList(topicId);
	}
	else{
		Element.hide(vcb);
		setTbClose(viewTb);
	}
}catch(e){
	return;
}
}

function toggleTrackbacks(topicId,e){
	hideCommentTipBox();
	var bi=e.parentNode.parentNode;
	var tbsb;
	if(!tbsmap.exist(topicId)){
		var tempNode=commentListBox.cloneNode(true);
		bi.parentNode.insertBefore(tempNode,bi.nextSibling);
		tbsmap.push(topicId,tempNode);
		tbsb=tempNode;
	}
	else tbsb=tbsmap.getValue(topicId);
	var tbsTb=getTbsTb(bi);
	if(isTbClose(tbsTb)){
		if(isTbOpen(getPostTb(bi)))togglePostCommentBox(topicId,e);
		if(isTbOpen(getTbaTb(bi)))toggleTrackbackAddress(topicId,e);
		if(isTbOpen(getViewTb(bi)))toggleViewComment(topicId,e);
		genTrackbacks(topicId);
	}
	else{
		Element.hide(tbsb);
		setTbClose(tbsTb);
	}
}

function togglePostCommentBox(topicId,e){
	hideCommentTipBox();
	var bi=e.parentNode.parentNode;
	var pcb;
	if(!pcmap.exist(topicId)){
		var tempNode=postCommentBox.cloneNode(true);
		bi.parentNode.insertBefore(tempNode,bi.nextSibling);
		pcmap.push(topicId,tempNode);
		pcb=tempNode;
		resetPcb(pcb);
		attachPostEvent(topicId,pcb);
	}
	else pcb=pcmap.getValue(topicId);
	var postTb=getPostTb(bi);
	if(isTbClose(postTb)){
		if(isTbOpen(getViewTb(bi)))toggleViewComment(topicId,e);
		if(isTbOpen(getTbaTb(bi)))toggleTrackbackAddress(topicId,e);
		if(isTbOpen(getTbsTb(bi)))toggleTrackbacks(topicId,e);
		Element.show(pcb);
		setTbOpen(postTb);
	}
	else{
		Element.hide(pcb);
		setTbClose(postTb);
	}
}

function toggleTrackbackAddress(topicId,e){
	hideCommentTipBox();
	var bi=e.parentNode.parentNode;
	var tbab;
	if(!tbamap.exist(topicId)){
		var tempNode=$se("div");
		var path=window.location.host+window.location.pathname;
		tempNode.innerHTML="<ul class='trackbackAddress'><li class='text'>"+MultiLang.s149+"Trackback"+MultiLang.s150+"</li><li>http://"
			+path.substring(0,path.lastIndexOf('/')+1)+"trackback.aspx?id="+topicId+"</li><li class='text'>"+MultiLang.s151+"</li><li>http://"
			+path+"#tid."+topicId+"/</li></ul>";
		tempNode.className="trackbackAddress";
		bi.parentNode.insertBefore(tempNode,bi.nextSibling);
		tbamap.push(topicId,tempNode);
		tbab=tempNode;
		
		//resetPcb(pcb);
		//attachPostEvent(topicId,pcb);
	}
	else tbab=tbamap.getValue(topicId);
	var tbaTb=getTbaTb(bi);
	if(isTbClose(tbaTb)){
		if(isTbOpen(getViewTb(bi)))toggleViewComment(topicId,e);
		if(isTbOpen(getPostTb(bi)))togglePostCommentBox(topicId,e);
		if(isTbOpen(getTbsTb(bi)))toggleTrackbacks(topicId,e);
		Element.show(tbab);
		setTbOpen(tbaTb);
	}
	else{
		Element.hide(tbab);
		setTbClose(tbaTb);
	}
}


function showCommentTipBox(msg,e,noButton){
	e.parentNode.insertBefore(commentTipBox.box,e.nextSibling);
	commentTipBox.show();
	if(noButton)commentTipBox.setText(msg,"noCloseButton");
	else commentTipBox.setText(msg);
}

function hideCommentTipBox(){
	commentTipBox.hide();
}

function isTbOpen(tb){
	return tb.nodeValue.charAt(0)==MultiLang.s152;
}
function isTbClose(tb){
	return tb.nodeValue.charAt(0)==MultiLang.s153;
}
function setTbClose(tb){
	tb.nodeValue=MultiLang.s153+tb.nodeValue.slice(1,tb.nodeValue.length);
}
function setTbOpen(tb){
	tb.nodeValue=MultiLang.s152+tb.nodeValue.slice(1,tb.nodeValue.length);
}
function getViewTb(e){
	return e.lastChild.childNodes[0].firstChild;
}
function getPostTb(e){
	return e.lastChild.childNodes[1].firstChild;
}
function getTbaTb(e){
	return e.lastChild.childNodes[2].firstChild;
}
function getTbsTb(e){
	return e.lastChild.childNodes[3].firstChild;
}
function genCommentList(topicId){
try{
	var vcb=vcmap.getValue(topicId);
	var bi=pn(vcb);
	showCommentTipBox(MultiLang.s66,bi,"noButton");
	var option={
		parameters:"s="+Math.random()+"&oper=getComment&topicId="+topicId,
		method:"get",
		onSuccess:function(transport){
			var rp=transport.responseText;
			if(/^<(\d+)>/.exec(rp)==null){
				commentTipBox.setText(rp);
				commentTipBox.hideAfterSeconds(3);
				return;
			}
			
			bi.lastChild.childNodes[0].childNodes[1].innerHTML=RegExp.$1;
			if(RegExp.$1==0){
				commentTipBox.setText(MultiLang.s154);
				commentTipBox.hideAfterSeconds(3);
				return;
			}
			setTbOpen(getViewTb(bi));
			vcb.innerHTML=RegExp.rightContext;
			commentTipBox.hide();
			Element.show(vcb);
		},
		onFailure:function(transport){
			commentTipBox.setText(MultiLang.s13+"<a href='javascript:genCommentList("+topicId+")'>"+MultiLang.s11+"</a>"+MultiLang.s12);
		}
	}
	var request=new Ajax.Request("ajax.aspx",option);
	return;
}catch(e){
	return;
}
}

function genTrackbacks(topicId){try{
	var tbsb=tbsmap.getValue(topicId);
	var bi=pn(tbsb);
	showCommentTipBox(MultiLang.s66,bi,"noButton");
	var option={
		parameters:"s="+Math.random()+"&oper=getTrackbacks&topicId="+topicId,
		method:"get",
		onSuccess:function(transport){
			var rp=transport.responseText;
			if(/^<(\d+)>/.exec(rp)==null){
				commentTipBox.setText(rp);
				commentTipBox.hideAfterSeconds(3);
				return;
			}
			
			bi.lastChild.childNodes[3].childNodes[1].innerHTML=RegExp.$1;
			if(RegExp.$1==0){
				commentTipBox.setText(MultiLang.s155+"Trackback"+MultiLang.s156);
				commentTipBox.hideAfterSeconds(3);
				return;
			}
			setTbOpen(getTbsTb(bi));
			tbsb.innerHTML=RegExp.rightContext;
			commentTipBox.hide();
			Element.show(tbsb);
		},
		onFailure:function(transport){
			commentTipBox.setText(MultiLang.s13+"<a href='javascript:genTrackbacks("+topicId+")'>"+MultiLang.s11+"</a>"+MultiLang.s12);
		}
	}
	var request=new Ajax.Request("ajax.aspx",option);
	return;
}catch(e){
	return;
}
}

function genTrackbackList(topicId){try{
	var vcb=vcmap.getValue(topicId);
	var bi=pn(vcb);
	showCommentTipBox(MultiLang.s66,bi,"noButton");
	var option={
		parameters:"s="+Math.random()+"&oper=getTrackback&topicId="+topicId,
		method:"get",
		onSuccess:function(transport){
			var rp=transport.responseText;
			if(/^<(\d+)>/.exec(rp)==null){
				commentTipBox.setText(rp);
				commentTipBox.hideAfterSeconds(3);
				return;
			}
			
			bi.childNodes[3].childNodes[0].childNodes[1].innerHTML=RegExp.$1;
			if(RegExp.$1==0){
				commentTipBox.setText(MultiLang.s155+"Trackback"+MultiLang.s156);
				commentTipBox.hideAfterSeconds(3);
				return;
			}
			setTbOpen(getViewTb(bi));
			vcb.innerHTML=RegExp.rightContext;
			commentTipBox.hide();
			Element.show(vcb);
		},
		onFailure:function(transport){
			commentTipBox.setText(MultiLang.s13+"<a href='javascript:genCommentList("+topicId+")'><font color='blue'>"+MultiLang.s11+"</font></a>"+MultiLang.s12);
		}
	}
	var request=new Ajax.Request("ajax.aspx",option);
	return;
}catch(e){
	return;
}
}

function attachPostEvent(topicId,pcb){
	var btn=pcb.childNodes[0].childNodes[pcb.childNodes[0].childNodes.length-1].childNodes[2];
	var iptAuthor=pcb.childNodes[0].childNodes[pcb.childNodes[0].childNodes.length-2].childNodes[1];
	var taContent=pcb.childNodes[0].childNodes[pcb.childNodes[0].childNodes.length-1].childNodes[1];
	var tipBox=new TipBox("",{});
	pcb.childNodes[0].insertBefore(tipBox.box,pcb.childNodes[0].childNodes[1]);
	btn.onclick=function addComment(){
		if(tipBox.using){
			tipBox.setText(MultiLang.s157);
			return;
		}
		if(iptAuthor.value.trim().length==0 || taContent.value.trim().length==0){
			tipBox.setText(MultiLang.s158);
			tipBox.show();
			tipBox.hideAfterSeconds(3);
			tipBox.using=false;
			return;
		}
		tipBox.show();
		tipBox.setText(MultiLang.s159,"noCloseButton");
		var option={
			parameters:"author="+escape2(iptAuthor.value)+"&memo="+escape2(taContent.value)+"&topicId="+topicId,
			method:"post",
			onSuccess:function(transport){
				var sortId=0;
				var response=transport.responseText;
				if(/^\d{4}-\d{1,2}-\d{1,2}/.test(response)){
					tipBox.setText(MultiLang.s160);
					tipBox.hideAfterSeconds(3);
					var bi=pn(pcb);
					var count=bi.childNodes[3].childNodes[0].childNodes[1].innerHTML;
					count++;
					bi.childNodes[3].childNodes[0].childNodes[1].innerHTML=count;
					togglePostCommentBox(topicId,bi.childNodes[3].childNodes[0]);
					showCommentTipBox(MultiLang.s160,bi);
					addCommentToLeft(iptAuthor.value,taContent.value,topicId,sortId);
					resetPcb(pcb);
					commentTipBox.hideAfterSeconds(3);
				}
				else{
					tipBox.setText(response);
					tipBox.hideAfterSeconds(3);
				}
			},
			onFailure:function(transport){
				tipBox.using=false;
				tipBox.setText(MultiLang.s161);
				tipBox.hideAfterSeconds(3);
			}
		}
		var request=new Ajax.Request("ajax.aspx?s="+Math.random()+"&oper=addComment",option);
	}
}

function resetPcb(pcb){
	pcb.childNodes[0].childNodes[pcb.childNodes[0].childNodes.length-2].childNodes[1].value="";
	pcb.childNodes[0].childNodes[pcb.childNodes[0].childNodes.length-1].childNodes[1].value="";
}

function pn(e){
	n=e.previousSibling;
	while(n.tagName.toLowerCase()!="dl"){
		if(!n.previousSibling)return null;
		n=n.previousSibling;
	}
	return n;
}

function addCommentToLeft(author,content,topicId,sortId){
	var n=$("newComment");
	if(!n)return;
	var str="<span>"+author.escapeHTML2()+MultiLang.s36+"</span>";
	str+=("<a href='javascript:gsb("+topicId+")'>"+cutLeft(content,50).escapeHTML2()+"</a>");
	var dd=document.createElementWithText("dd",str);
	
	if(cc(n)>10)n.removeChild(n.childNodes[ci(cc(n)-1)]);
	n.insertBefore(dd,n.childNodes[ci(1)]);
}


function postMsg(){
	try{
		if(msgTipBox.using){
			msgTipBox.toggleText(MultiLang.s157,1);
			return;
		}
		if($F("tbAuthor").trim().length==0 || $F("tbTitle").trim().length==0 || $F("tbContent").trim().length==0 || $F("ddlMsgSort")=="0"){
			msgTipBox.setText(MultiLang.s162);
			msgTipBox.show();
			msgTipBox.hideAfterSeconds(3);
			msgTipBox.using=false;
			return;
		}
		msgTipBox.show();
		msgTipBox.setText(MultiLang.s163,"noCloseButton");
		var option={
			parameters:"author="+escape2($F("tbAuthor"))+"&title="+escape2($F("tbTitle"))+"&content="+escape2($F("tbContent"))+"&sortId="+$F("ddlMsgSort"),
			method:"post",
			onSuccess:function(transport){
				var response=transport.responseText;
				if(/^<(\d+)><(\d+)>$/.exec(response)){
					msgTipBox.setText(MultiLang.s164);
					msgTipBox.hideAfterSeconds(3);
					if(RegExp.$2==1)addMsgToLeft(RegExp.$1,$F("ddlMsgSort"));
					resetPostMsgBox();
				}
				else{
					msgTipBox.setText(response);
					msgTipBox.hideAfterSeconds(3);
				}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -