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

📄 ig_webtoolbar2_2.js

📁 研究怎样通过手写代码来完成自动生成代码
💻 JS
📖 第 1 页 / 共 2 页
字号:
	var evt = e ? e : window.event;
	var oMove = igtbr_state.o_move;
	if(oMove == null || oMove.AllowMove == null || evt == null) return;
	// drop on mouse move
	if(window.event != null && evt.button != 1)
	{
		igtbar_drop();
		return;
	}
	var cx,cy,left,top;
	var tb=igtbar_getToolbarById(oMove.src.id);
	oMove.NewX = evt.pageX?evt.pageX:(document.body.scrollLeft+evt.clientX);
	oMove.NewY = evt.pageY?evt.pageY:(document.body.scrollTop+evt.clientY);
	var dX = oMove.CurrentX, dY = oMove.CurrentY;
	if(dX == null) dX = dY = 0;
	else{dX = oMove.NewX - dX; dY = oMove.NewY - dY;}
	oMove.CurrentX = oMove.NewX;
	oMove.CurrentY = oMove.NewY;
	oMove.src.style.zIndex=(tb.OnTop==true?1000:1);
	left=oMove.src.style.left;
	top=oMove.src.style.top;
	cx=(parseInt(left.length>0?left:0)+dX).toString();
	cy=(parseInt(top.length>0?top:0)+dY).toString();
	var eventObj = new ig_EventObject();
	eventObj.event = evt;
	ig_fireEvent(tb, tb.ClientSideEvents.Move, cx, cy, eventObj);
	if(eventObj.cancel) return;
	if(oMove.src.style.position != "absolute")
	{
		cx = cy = 0;
		e = oMove.src;
		while(e != null)
		{
			cx += e.offsetLeft;
			cy += e.offsetTop;
			e = e.offsetParent;
		}
		oMove.src.style.position = "absolute";
	}
	if(cx < 0) cx = 0; if(cy < 0) cy = 0;
	oMove.src.style.left=cx+"px";
	oMove.src.style.top=cy+"px";
	tb.update(null, "Position", cx + "i" + cy);
}
function igtbar_groupButtonDown(button,evnt,enabled,groupID,shouldToggle)
{
	var tbar=button.id.split("_");
	var tb=igtbar_getToolbarById(tbar[0]);
	var group=igtbar_getItemById(groupID);
	var b=igtbar_getItemById(button.id);
	if(tb == null || tb.loading || !tb.Enabled || !enabled || b == null || b.Enabled == false) return;
	var selButton=null;
	if(group.SelectedButton)
		selButton=group.SelectedButton.Element;
	var eventObj=new ig_EventObject();
	eventObj.event=evnt;
	eventObj.needPostBack=tb.PostBackGroup && b.AutoPostBack;
	if(!tb.firedClick){
		tb.firedClick=true;
		ig_fireEvent(tb,tb.ClientSideEvents.Click,b,eventObj);
		tb.firedClick=false;
	}else eventObj.cancel=true;
	if(eventObj.cancel) return;
	if(!(selButton==button&&!shouldToggle))
	{
		if(selButton!=null)
		{
			group.SelectedButton.Selected=false;
			igtbar_EnableItem(selButton,true);
		}
		if(selButton==button)
			group.SelectedButton=null;
		else
		{
			group.SelectedButton=igtbar_getItemById(button.id);
			igtbar_mouseDown(button,evnt,true,group.SelectedButton.ToggleButton);
		}
	}
	var url = b.getTargetUrl();
	var frame = b.getTargetFrame();
	if(url!=null&&url.length>0)
		ig_csom.navigateUrl(url, frame);
	else if(eventObj.needPostBack)
		__doPostBack(tb.UniqueId, button.id+":GROUP:"+((button==selButton)?"UP":"DOWN"));
}

function igtbar_mouseDown(src,evnt,enabled,toggle)
{
	var tbName=src.id.split("_");
	var tb=igtbar_getToolbarById(tbName[0]);
	if(tb == null || tb.loading || !tb.Enabled || !enabled) return;
	igtbar_toggleButtonState(src,toggle);
}

function igtbar_toggleButtonState(item,toggle)
{
	var b=igtbar_getItemById(item.id);
	if(b == null || b.Toolbar.loading) return;
	var tb=b.Toolbar;
	var isDown=b.Selected;
	if(!tb.Enabled) return;
	if(toggle){
		if(isDown==true)
		{
			igtbar_ButtonUp(item,true);
			tb.update(b, "Selected", "false");
		}
		else
		{
			igtbar_SelectItem(item);
			b.Selected=true;
			tb.update(b, "Selected", "true");
		}
		b.needPB = true;
	}
	else
	{
		if(isDown==true)
		{
			igtbar_ButtonUp(item,true);
			if (b.IsGroupButton==true)
			tb.update(b, "Selected", "false");
		}
		else
		{
			igtbar_SelectItem(item);
			b.Selected=true;
			if (b.IsGroupButton==true)
			tb.update(b, "Selected", "true");
		}
	}
}

function igtbar_mouseUp(src,evnt,enabled)
{
	var tbName=src.id.split("_");
	var tb=igtbar_getToolbarById(tbName[0]);
	var b=igtbar_getItemById(src.id);
	if(tb == null || tb.loading || enabled == false || !tb.Enabled || b == null || !b.Enabled) return;
	var eventObj=new ig_EventObject();
	eventObj.event=evnt;
	eventObj.needPostBack=(b.Toolbar.PostBackButton && b.AutoPostBack);
	if(enabled)
		ig_fireEvent(b.Toolbar,b.Toolbar.ClientSideEvents.Click,b,eventObj);

	if(!b.ToggleButton){
		if(eventObj.cancelPostBack)
			igtbar_ButtonUp(src,enabled,false);
		else
			igtbar_ButtonUp(src,enabled,eventObj.needPostBack);
	}
	else
	{
		b.Toolbar.update(b, "Selected", b.Selected ? "true" : "false");
		if(b.needPB == true){
			if(eventObj.needPostBack&&!eventObj.cancelPostBack)
				__doPostBack(tb.UniqueId, b.Id + (b.Selected ? ":DOWN" : ":UP"));
			b.needPB = null;
		}
	}
}

function igtbar_ButtonUp(src,enabled,forcePB)
{
	var b=igtbar_getItemById(src.id);
	if(b == null || b.Toolbar.loading || !b.Toolbar.Enabled || !b.Enabled || !enabled) return;
	b.Selected=false;
	igtbar_HoverItem(src);
	var url = b.getTargetUrl();
	var frame = b.getTargetFrame();
	if(url!=null&&url.length>0)
		ig_csom.navigateUrl(url, frame);
	else if(!b.ToggleButton)
		if(forcePB == true || (forcePB == null && b.Toolbar.PostBackButton))
			__doPostBack(b.Toolbar.UniqueId, src.id + ":UP");
}

function igtbar_mouseOut(src,evnt,enabled,toggle)
{
	var tbName=src.id.split("_");
	var tb=igtbar_getToolbarById(tbName[0]);
	var b=igtbar_getItemById(src.id);
	if(b == null || tb == null || tb.loading || !tb.Enabled || !b.Enabled || !enabled || b.hasMouse == null) return;
	var target = evnt.toElement;
	if(target != null && (target.id == b.Element.id || target.parentNode == b.Element))
		return;
	b.hasMouse = null;
	var isDown=b.Selected;
	var buttonstring=src.id.split("_");
	var isGroupButton=(buttonstring[1]=="Group");	
	var eventObj=new ig_EventObject();
	eventObj.event=evnt;
	ig_fireEvent(b.Toolbar,b.Toolbar.ClientSideEvents.MouseOut,b,eventObj);
	if(eventObj.cancel) return;
	if(!isDown)
		igtbar_EnableItem(src,true);
	//Check if mouseOut occured before buttonUp.  In this case, a normal button's state
	//needs to be reset back to default.
	if(isDown&&!toggle&&!isGroupButton)
	{
		igtbar_ButtonUp(src,true, false);
		igtbar_EnableItem(src,true);
	}
	else if(toggle)
	{
		if(!isDown)
			igtbar_EnableItem(src,true);
		else
			igtbar_SelectItem(src);
	}
}
function igtbar_mouseOver(src,evnt, enabled)
{
	var tbName=src.id.split("_");
	var tb=igtbar_getToolbarById(tbName[0]);
	var b=igtbar_getItemById(src.id);
	if(tb == null || tb.loading || b == null || b.hasMouse || !b.Toolbar.Enabled || !b.Enabled || !enabled || b.Selected) return;
	b.hasMouse = true;
	var eventObj=new ig_EventObject();
	eventObj.event=evnt;
	ig_fireEvent(b.Toolbar,b.Toolbar.ClientSideEvents.MouseOver,b,eventObj);
	if(eventObj.cancel) return;
	igtbar_HoverItem(src);
}

function igtbar_setImage(id,img)
{
	var eItem=ig_csom.getElementById(id+"_img");
	if(eItem&&img&&img.length&&img.length>0)
		eItem.src=img;
}
function igtbar_SelectItem(item)
{
	var b=igtbar_getItemById(item.id);
	if(b == null) return;
	var style=b.SelectedStyleClassName;
	if(style)
		item.className=style;
	igtbar_setImage(item.id,b.SelectedImage);
}
function igtbar_HoverItem(item)
{
	var b=igtbar_getItemById(item.id);
	if(b == null) return;
	var hovOK=!b.Selected;
	try{hovOK=hovOK||(b.ToggleButton&&b.Enabled)}catch(ex){;}
	if(hovOK)
	{
		var style=b.HoverStyleClassName;
		if(style)
			item.className=style;
		igtbar_setImage(item.id,b.HoverImage);
	}
}
// process events
function igtbar_evt(evt)
{
	if(evt == null) if((evt = window.event) == null) return;
	var src = evt.srcElement;
	if(src == null) return;
	var but = src.owner;
	if(but == null) return;
	if(but.Type == 4){but.setText();return;}
	if(evt.type == "focus") but.ak = 0;
	var down = evt.type == "keydown";
	if(!(down || evt.type == "keyup")) return;
	var a = src.accessKey, k = evt.keyCode;
	if(down){if(but.ak == 1) return; else but.ak = 1;}
	else
	{
		if(but.ak == 2) return;
		if(ig_csom.notEmpty(a) && evt.altKey)
		{
			if(!(but.ak == 0 || a.charCodeAt(0) == k || (k == 186 && a == ";") || (k == 187 && a == "=") || (k == 188 && a == ",") || (k == 189 && a == "-") || (k == 191 && a == "/") || (k == 219 && a == "[") || (k == 221 && a == "]"))) return;
			k = 32;
			down = but.IsGroupButton || but.ToggleButton;
		}
		but.ak = 2;
	}
	if(k == 32)
	{
		if(but.IsGroupButton)
		{
			if(!down) return;
			igtbar_groupButtonDown(src, evt, true, but.Parent.Element.id, but.ToggleButton);
		}
		else
		{
			if(down) igtbar_mouseDown(src, evt, true, but.ToggleButton);
			if(!down || evt.type == "keyup")
			{
				igtbar_mouseUp(src, evt, true);
				if(!but.ToggleButton || !but.Selected) igtbar_EnableItem(src, true);
			}
		}
	}
	else if(down && but.IsGroupButton && (k == 37 || k == 39))
	{
		var i = but.i;
		while(true)
		{
			i += k - 38;
			if(i < 0 || i >= but.Parent.Items.length) return;
			if(but.Parent.Items[i].Enabled) break;
		}
		try{but.Parent.Items[i].Element.focus();}catch(e){}
	}
}
function igtbar_EnableItem(item,bEnabled)
{
	var b=igtbar_getItemById(item.id);
	if(b == null) return;
	var style=b.DefaultStyleClassName;
	if(style)
		item.className=style;
	igtbar_setImage(item.id,(bEnabled)?b.DefaultImage:b.DisabledImage);
}
// DEPRECATED
function igtbar_navigate(targetUrl, targetFrame){ig_csom.navigateUrl(targetUrl, targetFrame);}

⌨️ 快捷键说明

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