www.gusucode.com > SiteEngine(建站引擎) 7.0 个人免费版源码程序 > bicq/system/js/desktop.js

    var IconzIndex=0;
var IconOffsetX=30;
var IconOffsetY=30;
var DesktopOffSetY=0;
var DesktopOffSetX=0;
var DesktopGlobalObjID="";
var DesktopIsCatchIcon=false;
var DesktopIconSelectName="";
var DesktopIsSelect=false;


/*取消选中的图标*/
function DesktopCancelSelect() {
	if (!DesktopIsSelect) SelectDesktopIcon();
	DesktopIsSelect=false;
};

/*选中图标*/
function SelectDesktopIcon(ObjID) {
	if (DesktopIconSelectName!="") {
		$("DesktopIconTitle_"+DesktopIconSelectName).className="DesktopTitle";
		$("DesktopIcon_"+DesktopIconSelectName).className="DesktopIcons";
	}
	if (ObjID=="" || ObjID==null) return;
	$("DesktopIconTitle_"+ObjID).className="SelectDesktopIcon";
	$("DesktopIcon_"+ObjID).className="SelectIcons";
	DesktopIconSelectName=ObjID;
	DesktopIsSelect=true;
};

/*设置焦点函数*/
function DesktopSetFocus(ObjID) {
	DesktopGlobalObjID=ObjID;
	$("DesktopIconBody_"+ObjID).style.zIndex=++IconzIndex;
	SelectDesktopIcon(ObjID);
};

/*判断图标是否超出规定范围*/
function CheckIconsIsOut(ObjID) {
	var Obj_Blank_Left=CurrentBodyWidth-60;
	var Obj_Blank_Top=CurrentBodyHeight-40-60;

	if ($("DesktopIconBody_"+ObjID).offsetTop<=0) {
		$("DesktopIconBody_"+ObjID).style.top = "0px";
	}
	if ($("DesktopIconBody_"+ObjID).offsetTop>=Obj_Blank_Top) {
		$("DesktopIconBody_"+ObjID).style.top = Obj_Blank_Top+"px";
	}
	if ($("DesktopIconBody_"+ObjID).offsetLeft<=0) {
		$("DesktopIconBody_"+ObjID).style.left = "0px";
	}
	if ($("DesktopIconBody_"+ObjID).offsetLeft>=Obj_Blank_Left) {
		$("DesktopIconBody_"+ObjID).style.left = Obj_Blank_Left+"px";
	}
};

/*锁定图标函数*/
function DesktopCatchIcon(evt) {
	var ObjID=DesktopGlobalObjID;
	if (ObjID=="") return;

	DesktopIsCatchIcon = true;
	DesktopOffSetX=parseInt($("DesktopIconBody_"+ObjID).style.left)-(Microsoft_IE ? event.clientX+document.documentElement.scrollLeft : evt.pageX);
	DesktopOffSetY=parseInt($("DesktopIconBody_"+ObjID).style.top)-(Microsoft_IE ? event.clientY+document.documentElement.scrollTop : evt.pageY);
};

/*释放图标函数*/
function DesktopReleaseIcon() {
	DesktopGlobalObjID="";
	DesktopIsCatchIcon = false;
};

/*移动图标函数*/
function DesktopMoveIcon(evt) {
	var ObjID=DesktopGlobalObjID;
	if (ObjID=="") return;

	if (DesktopIsCatchIcon) {
		var x= Microsoft_IE ? event.clientX+document.documentElement.scrollLeft:evt.pageX;
		var y= Microsoft_IE ? event.clientY+document.documentElement.scrollTop:evt.pageY;
		$("DesktopIconBody_"+ObjID).style.left=x+DesktopOffSetX+'px';
		$("DesktopIconBody_"+ObjID).style.top=y+DesktopOffSetY+'px';
		CheckIconsIsOut(ObjID);
	}
};

/*
创建图标函数
////////////////////////////////////////////////////////
//ObjID			ID(字符串)
//Ico			图标(50*50)
//Title			标题
//IconType		图标创建方式(0首次创建,1后来创建)
//ObjAction		图标双击时的动作
////////////////////////////////////////////////////////
*/
function CreateIcons(ObjID,Ico,Title,IconType,ObjAction) {
	/*如果存在这个图标则返回*/
	if ($("MainDesktopIcon_"+ObjID)!=null) return;

	var Width=60;
	var Height=60;

	var BICQIconsHtml=""
		/*图标拖动层*/
		+"<div id=\"MainDesktopIcon_"+ObjID+"\">"
			+"<div id=\"DesktopIconBody_"+ObjID+"\" style=\"position:absolute;left:"+IconOffsetX+"px;top:"+IconOffsetY+"px;width:"+Width+"px;height:"+Height+"px;z-index:"+IconzIndex+";\" title=\""+Title+"\" onMouseDown=\"DesktopSetFocus('"+ObjID+"');\" onDBlclick=\""+ObjAction+"\">"
				/*小图标*/
				+"<div id=\"DesktopIcon_"+ObjID+"\" style=\"width:50px;height:50px;background-image: url(images/icons/icon"+Ico+".gif);\"></div>"
				/*图标名*/
				+"<div id=\"DesktopIconTitle_"+ObjID+"\" style=\"padding-top:3px;\" class=\"DesktopTitle\" align=\"center\">"+Title+"</div>"
			+"</div>"
		+"</div>";

	IconzIndex++;
	IconOffsetY+=75;
	if (IconOffsetY>450) {
		IconOffsetY=30;
		IconOffsetX+=75;
	}

	if (IconType==1) {
		document.body.insertAdjacentHTML("beforeEnd",BICQIconsHtml);
	}
	else {
		document.write(BICQIconsHtml);
	}
};

/*
更新图标函数
////////////////////////////////////////////////////////
//ObjID			ID(字符串)
//Ico			图标(50*50)
//Title			标题
//ObjAction		图标双击时的动作
////////////////////////////////////////////////////////
*/
function UpdateIcons(ObjID,Ico,Title,ObjAction) {
	var Width=60;
	var Height=60;
	var IconOffsetX=$("DesktopIconBody_"+ObjID).style.pixelLeft;
	var IconOffsetY=$("DesktopIconBody_"+ObjID).style.pixelTop;
	var IconzIndex=$("DesktopIconBody_"+ObjID).style.zIndex;

	var BICQIconsHtml=""
		+"<div id=\"DesktopIconBody_"+ObjID+"\" style=\"position:absolute;left:"+IconOffsetX+"px;top:"+IconOffsetY+"px;width:"+Width+"px;height:"+Height+"px;z-index:"+IconzIndex+";\" title=\""+Title+"\" onMouseDown=\"DesktopSetFocus('"+ObjID+"');\" onDBlclick=\""+ObjAction+"\">"
			/*小图标*/
			+"<div id=\"DesktopIcon_"+ObjID+"\" style=\"width:50px;height:50px;background-image: url(images/icons/icon"+Ico+".gif);\"></div>"
			/*图标名*/
			+"<div id=\"DesktopIconTitle_"+ObjID+"\" style=\"padding-top:3px;\" class=\"DesktopTitle\" align=\"center\">"+Title+"</div>"
		+"</div>";
	$("MainDesktopIcon_"+ObjID).innerHTML=BICQIconsHtml;
};

/* 增加桌面图标 */
function AddUserDesktopIcons(IconID,IconFlag,IconTitle,IconIndex,IconLink,IconWidth,IconHeight,IconType) {
	if (IconFlag=="1") {
		var iActions="CreateWindows('UserDesktopIconsWindow_"+IconID+"',0,0,"+IconWidth+","+IconHeight+",'images/skins/bicq/title.gif','"+IconTitle+"',1,1,1,1,'<iframe width=100% height=100% src="+IconLink+" marginwidth=0 marginheight=0 scrolling=auto hspace=0 vspace=0 frameborder=0></iframe>',null,0);ShowWindow('UserDesktopIconsWindow_"+IconID+"');";
	}
	else {
		var iActions="window.open('"+IconLink+"');";
	}
	CreateIcons("UserDesktopIcons_"+IconID,IconIndex,IconTitle,IconType,iActions);
};

/* 更新桌面图标 */
function UpdUserDesktopIcons(IconID,IconFlag,IconTitle,IconIndex,IconLink,IconWidth,IconHeight) {
	if (IconFlag=="1") {
		var iActions="CreateWindows('UserDesktopIconsWindow_"+IconID+"',0,0,"+IconWidth+","+IconHeight+",'images/skins/bicq/title.gif','"+IconTitle+"',1,1,1,1,'<iframe width=100% height=100% src="+IconLink+" marginwidth=0 marginheight=0 scrolling=auto hspace=0 vspace=0 frameborder=0></iframe>',null,0);ShowWindow('UserDesktopIconsWindow_"+IconID+"');";
	}
	else {
		var iActions="window.open('"+IconLink+"');";
	}
	UpdateIcons("UserDesktopIcons_"+IconID,IconIndex,IconTitle,iActions);
};