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

📄 common.js

📁 单片机C语言
💻 JS
📖 第 1 页 / 共 5 页
字号:
		this.stepv = -(this.step = this.pageheight * this.times / this.speed);
		this.script = !script ? '' : script;
		setTimeout('pagescroll.v()', 1);
	}
	this.down = function(times, script) {
		if(!this.start(times)) return;
		this.stepv = this.step = this.pageheight * this.times / this.speed;
		this.script = !script ? '' : script;
		setTimeout('pagescroll.v()', 1);
	}
	this.h = function() {
		if(this.scrollpx <= this.pagewidth * this.times) {
			this.scrollpx += Math.abs(this.stepv);
			patch = this.scrollpx > this.pagewidth * this.times ? this.scrollpx - this.pagewidth * this.times : 0;
			patch = patch > 0 && this.stepv < 0 ? -patch : patch;
			oldscrollLeft = this.ctrlobj.scrollLeft;
			this.ctrlobj.scrollLeft = this.ctrlobj.scrollLeft + this.stepv - patch;
			if(oldscrollLeft != this.ctrlobj.scrollLeft) {
				setTimeout('pagescroll.h()', 1);
				return;
			}
		}
		if(this.script) {
			eval(this.script);
		}
		this.running = 0;
	}
	this.v = function() {
		if(this.scrollpx <= this.pageheight * this.times) {
			this.scrollpx += Math.abs(this.stepv);
			patch = this.scrollpx > this.pageheight * this.times ? this.scrollpx - this.pageheight * this.times : 0;
			patch = patch > 0 && this.stepv < 0 ? -patch : patch;
			oldscrollTop = this.ctrlobj.scrollTop;
			this.ctrlobj.scrollTop = this.ctrlobj.scrollTop + this.stepv - patch;
			if(oldscrollTop != this.ctrlobj.scrollTop) {
				setTimeout('pagescroll.v()', 1);
				return;
			}
		}
		if(this.script) {
			eval(this.script);
		}
		this.running = 0;
	}
	this.init = function() {
		this.ctrlobj.scrollLeft = this.defaultleft;
		this.ctrlobj.scrollTop = this.defaulttop;
	}

}

//LiSelect
var selectopen = null;
var hiddencheckstatus = 0;
function loadselect(id, showinput, pageobj, pos, method) {
	var obj = $(id);
	var objname = $(id).name;
	var objoffset = fetchOffset(obj);
	objoffset['width'] = is_ie ? (obj.offsetWidth ? obj.offsetWidth : parseInt(obj.currentStyle.width)) : obj.offsetWidth;
	objoffset['height'] = is_ie ? (obj.offsetHeight ? obj.offsetHeight : parseInt(obj.currentStyle.height)) : obj.offsetHeight;
	pageobj = !pageobj ? '' : pageobj;
	showinput = !showinput ? 0 : showinput;
	pos = !pos ? 0 : 1;
	method = !method ? 0 : 1;
	var maxlength = 0;
	var defaultopt = '', defaultv = '';
	var lis = '<ul onfocus="loadselect_keyinit(event, 1)" onblur="loadselect_keyinit(event, 2)" class="newselect" id="' + objname + '_selectmenu" style="' + (!pos ? 'z-index:999;position: absolute; width: ' + objoffset['width'] + 'px;' : '') + 'display: none">';
	for(var i = 0;i < obj.options.length;i++){
		lis += '<li ' + (obj.options[i].selected ? 'class="current" ' : '') + 'k_id="' + id + '" k_value="' + obj.options[i].value + '" onclick="loadselect_liset(\'' + objname + '\', ' + showinput + ', \'' + id + '\',' + (showinput ? 'this.innerHTML' : '\'' + obj.options[i].value + '\'') + ',this.innerHTML, ' + i + ')">' + obj.options[i].innerHTML + '</li>';
		maxlength = obj.options[i].value.length > maxlength ? obj.options[i].value.length : maxlength;
		if(obj.options[i].selected) {
			defaultopt = obj.options[i].innerHTML;
			defaultv = obj.options[i].value;
			if($(objname)) {
				$(objname).setAttribute('selecti', i);
			}
		}
	}
	lis += '</ul>';
	if(showinput) {
		inp = '<input autocomplete="off" class="newselect" id="' + objname + '_selectinput" onclick="loadselect_viewmenu(this, \'' + objname + '\', 0, \'' + pageobj + '\');doane(event)" onchange="loadselect_inputset(\'' + id + '\', this.value);loadselect_viewmenu(this, \'' + objname + '\', 0, \'' + pageobj + '\')" value="' + defaultopt + '" style="width: ' + objoffset['width'] + 'px;height: ' + objoffset['height'] + 'px;" tabindex="1" />';
	} else {
		inp = '<a href="javascript:;" hidefocus="true" class="loadselect" id="' + objname + '_selectinput"' + (!obj.disabled ? ' onfocus="loadselect_keyinit(event, 1)" onblur="loadselect_keyinit(event, 2)" onmouseover="this.focus()" onmouseout="this.blur()" onkeyup="loadselect_key(this, event, \'' + objname + '\', \'' + pageobj + '\')" onclick="loadselect_viewmenu(this, \'' + objname + '\', 0, \'' + pageobj + '\');doane(event)"' : '') + ' tabindex="1">' + defaultopt + '</a>';
	}
	obj.options.length = 0;
	if(defaultopt) {
		obj.options[0]= showinput ? new Option('', defaultopt) : new Option('', defaultv);
	}
	obj.style.width = objoffset['width'] + 'px';
	obj.style.display = 'none';
	if(!method) {
		obj.outerHTML += inp + lis;
	} else {
		if(showinput) {
			var inpobj = document.createElement("input");
		} else {
			var inpobj = document.createElement("a");
		}
		obj.parentNode.appendChild(inpobj);
		inpobj.outerHTML = inp;
		var lisobj = document.createElement("ul");
		obj.parentNode.appendChild(lisobj);
		lisobj.outerHTML = lis;
	}
}

function loadselect_keyinit(e, a) {
	if(a == 1) {
		if(document.attachEvent) {
			document.body.attachEvent('onkeydown', loadselect_keyhandle);
		} else {
			document.body.addEventListener('keydown', loadselect_keyhandle, false);
		}
	} else {
		if(document.attachEvent) {
			document.body.detachEvent('onkeydown', loadselect_keyhandle);
		} else {
			document.body.removeEventListener('keydown', loadselect_keyhandle, false);
		}
	}
}

function loadselect_keyhandle(e) {
	e = is_ie ? event : e;
	if(e.keyCode == 40 || e.keyCode == 38) doane(e);
}

function loadselect_key(ctrlobj, e, objname, pageobj) {
	value = e.keyCode;
	if(value == 40 || value == 38) {
		if($(objname + '_selectmenu').style.display == 'none') {
			loadselect_viewmenu(ctrlobj, objname, 0, pageobj);
		} else {
			lis = $(objname + '_selectmenu').getElementsByTagName('LI');
			selecti = $(objname).getAttribute('selecti');
			lis[selecti].className = '';
			if(value == 40) {
				selecti = parseInt(selecti) + 1;
			} else if(value == 38) {
				selecti = parseInt(selecti) - 1;
			}
			if(selecti < 0) {
				selecti = lis.length - 1
			} else if(selecti > lis.length - 1) {
				selecti = 0;
			}
			lis[selecti].className = 'current';
			$(objname).setAttribute('selecti', selecti);
			lis[selecti].parentNode.scrollTop = lis[selecti].offsetTop;
		}
	} else if(value == 13) {
		lis = $(objname + '_selectmenu').getElementsByTagName('LI');
		for(i = 0;i < lis.length;i++) {
			if(lis[i].className == 'current') {
				loadselect_liset(objname, 0, lis[i].getAttribute('k_id'), lis[i].getAttribute('k_value'), lis[i].innerHTML, i);
				break;
			}
		}
	}
}

function loadselect_viewmenu(ctrlobj, objname, hidden, pageobj) {
	if(!selectopen) {
		if(document.attachEvent) {
			document.body.attachEvent('onclick', loadselect_hiddencheck);
		} else {
			document.body.addEventListener('click', loadselect_hiddencheck, false);
		}
	}
	var hidden = !hidden ? 0 : 1;
	if($(objname + '_selectmenu').style.display == '' || hidden) {
		$(objname + '_selectmenu').style.display = 'none';
	} else {
		if($(selectopen)) {
			$(selectopen).style.display = 'none';
		}
		var objoffset = fetchOffset(ctrlobj);
		if(pageobj) {
			var InFloate = pageobj.split('_');
			objoffset['left'] -= $(pageobj).scrollLeft + parseInt(floatwinhandle[InFloate[1] + '_1']);
			objoffset['top'] -= $(pageobj).scrollTop + parseInt(floatwinhandle[InFloate[1] + '_2']);
		}
		objoffset['height'] = ctrlobj.offsetHeight;
		$(objname + '_selectmenu').style.display = '';
		selectopen = objname + '_selectmenu';
	}
	hiddencheckstatus = 1;
}

function loadselect_hiddencheck() {
	if(hiddencheckstatus) {
		if($(selectopen)) {
			$(selectopen).style.display = 'none';
		}
		hiddencheckstatus = 0;
	}
}

function loadselect_liset(objname, showinput, obj, v, opt, selecti) {
	var change = 1;
	if(showinput) {
		if($(objname + '_selectinput').value != opt) {
			$(objname + '_selectinput').value = opt;
		} else {
			change = 0;
		}
	} else {
		if($(objname + '_selectinput').innerHTML != opt) {
			$(objname + '_selectinput').innerHTML = opt;
		} else {
			change = 0;
		}
	}
	lis = $(objname + '_selectmenu').getElementsByTagName('LI');
	lis[$(objname).getAttribute('selecti')].className = '';
	lis[selecti].className = 'current';
	$(objname).setAttribute('selecti', selecti);
	$(objname + '_selectmenu').style.display='none';
	if(change) {
		obj = $(obj);
		obj.options.length=0;
		obj.options[0]=new Option('', v);
		eval(obj.getAttribute('change'));
	}
}

function loadselect_inputset(obj, v) {
	obj = $(obj);
	obj.options.length=0;
	obj.options[0]=new Option('', v);
	eval(obj.getAttribute('change'));
}

//DetectCapsLock
var detectobj;
function detectcapslock(e, obj) {
	detectobj = obj;
	valueCapsLock = e.keyCode ? e.keyCode : e.which;
	valueShift = e.shiftKey ? e.shiftKey : (valueCapsLock == 16 ? true : false);
	detectobj.className = (valueCapsLock >= 65 && valueCapsLock <= 90 && !valueShift || valueCapsLock >= 97 && valueCapsLock <= 122 && valueShift) ? 'capslock txt' : 'txt';
	if(is_ie) {
		event.srcElement.onblur = detectcapslock_cleardetectobj;
	} else {
		e.target.onblur = detectcapslock_cleardetectobj;
	}
}

function detectcapslock_cleardetectobj() {
	detectobj.className = 'txt';
}

//FloatWin
var hiddenobj = new Array();
var floatwinhandle = new Array();
var floatscripthandle = new Array();
var floattabs = new Array();
var floatwins = new Array();
var InFloat = '';
var floatwinreset = 0;
var floatwinopened = 0;
function floatwin(action, script, w, h, scrollpos) {
	var floatonly = !floatonly ? 0 : 1;
	var actione = action.split('_');
	action = actione[0];
	if((!allowfloatwin || allowfloatwin == 0) && action == 'open' && in_array(actione[1], ['register','login','newthread','reply','edit']) && w >= 600) {
		location.href = script;
		return;
	}
	var handlekey = actione[1];
	var layerid = 'floatwin_' + handlekey;
	if(is_ie) {
		var objs = $('wrap').getElementsByTagName("OBJECT");
	} else {
		var objs = $('wrap').getElementsByTagName("EMBED");
	}
	if(action == 'open') {
		loadcss('float');
		floatwinhandle[handlekey + '_0'] = layerid;
		if(!floatwinopened) {
			$('wrap').onkeydown = floatwin_wrapkeyhandle;
			for(i = 0;i < objs.length; i ++) {
				if(objs[i].style.visibility != 'hidden') {
					objs[i].setAttribute("oldvisibility", objs[i].style.visibility);
					objs[i].style.visibility = 'hidden';
				}
			}
		}
		scrollpos = !scrollpos ? '' : 'floatwin_scroll(\'' + scrollpos + '\');';
		var clientWidth = document.body.clientWidth;
		var clientHeight = document.documentElement.clientHeight ? document.documentElement.clientHeight : document.body.clientHeight;
		var scrollTop = document.body.scrollTop ? document.body.scrollTop : document.documentElement.scrollTop;
		if(script && script != -1) {
			if(script.lastIndexOf('/') != -1) {
				script = script.substr(script.lastIndexOf('/') + 1);
			}
			var scriptfile = script.split('?');
			scriptfile = scriptfile[0];
			if(floatwinreset || floatscripthandle[scriptfile] && floatscripthandle[scriptfile][0] != script) {
				if(!isUndefined(floatscripthandle[scriptfile])) {
					$('append_parent').removeChild($(floatscripthandle[scriptfile][1]));
					$('append_parent').removeChild($(floatscripthandle[scriptfile][1] + '_mask'));
				}
				floatwinreset = 0;
			}
			floatscripthandle[scriptfile] = [script, layerid];
		}
		if(!$(layerid)) {
			floattabs[layerid] = new Array();
			div = document.createElement('div');
			div.className = 'floatwin';
			div.id = layerid;
			div.style.width = w + 'px';
			div.style.height = h + 'px';
			div.style.left = floatwinhandle[handlekey + '_1'] = ((clientWidth - w) / 2) + 'px';
			div.style.position = 'absolute';
			div.style.zIndex = '999';
			div.onkeydown = floatwin_keyhandle;
			$('append_parent').appendChild(div);
			$(layerid).style.display = '';
			$(layerid).style.top = floatwinhandle[handlekey + '_2'] = ((clientHeight - h) / 2 + scrollTop) + 'px';
			$(layerid).innerHTML = '<div><h3 class="float_ctrl"><em><img src="' + IMGDIR + '/loading.gif"> 加载中...</em><span><a href="javascript:;" class="float_close" onclick="floatwinreset = 1;floatwin(\'close_' + handlekey + '\');">&nbsp</a></span></h3></div>';
			divmask = document.createElement('div');
			divmask.className = 'floatwinmask';
			divmask.id = layerid + '_mask';
			divmask.style.width = (parseInt($(layerid).style.width) + 14) + 'px';
			divmask.style.height = (parseInt($(layerid).style.height) + 14) + 'px';
			divmask.style.left = (parseInt($(layerid).style.left) - 6) + 'px';
			divmask.style.top = (parseInt($(layerid).style.top) - 6) + 'px';
			divmask.style.position = 'absolute';
			divmask.style.zIndex = '998';
			divmask.style.filter = 'progid:DXImageTransform.Microsoft.Alpha(opacity=90,finishOpacity=100,style=0)';
			divmask.style.opacity = 0.9;
			$('append_parent').appendChild(divmask);
			if(script && script != -1) {
				script += (script.search(/\?/) > 0 ? '&' : '?') + 'infloat=yes&handlekey=' + handlekey;
				try {
					ajaxget(script, layerid, '', '', '', scrollpos);
				} catch(e) {
					setTimeout("ajaxget('" + script + "', '" + layerid + "', '', '', '', '" + scrollpos + "')", 1000);
				}
			} else if(script == -1) {
				$(layerid).innerHTML = '<div><h3 class="float_ctrl"><em id="' + layerid + '_title"></em><span><a href="javascript:;" class="float_close" onclick="floatwinreset = 1;floatwin(\'close_' + handlekey + '\');">&nbsp</a></span></h3></div><div id="' + layerid + '_content"></div>';
				$(layerid).style.zIndex = '1099';
				$(layerid + '_mask').style.zIndex = '1098';
			}
		} else {
			$(layerid).style.width = w + 'px';
			$(layerid).style.height = h + 'px';
			$(layerid).style.display = '';
			$(layerid).style.top = floatwinhandle[handlekey + '_2'] = ((clientHeight - h) / 2 + scrollTop) + 'px';
			$(layerid + '_mask').style.width = (parseInt($(layerid).style.width) + 14) + 'px';
			$(layerid + '_mask').style.height = (parseInt($(layerid).style.height) + 14) + 'px';
			$(layerid + '_mask').style.display = '';
			$(layerid + '_mask').style.top = (parseInt($(layerid).style.top) - 6) + 'px';
		}
		floatwins[floatwinopened] = handlekey;
		floatwinopened++;
	} else if(action == 'close' && floatwinhandle[handlekey + '_0']) {
		floatwinopened--;
		for(i = 0;i < floatwins.length; i++) {
			if(handlekey == floatwins[i]) {
				floatwins[i] = null;
			}
		}
		if(!floatwinopened) {
			for(i = 0;i < objs.length; i ++) {
				if(objs[i].attributes['oldvisibility']) {
					objs[i].style.visibility = objs[i].attributes['oldvisibility'].nodeValue;
					objs[i].removeAttribute('oldvisibility');
				}
			}
			$('wrap').onkeydown = null;
		}
		hiddenobj = new Array();
		$(layerid + '_mask').style.display = 'none';
		$(layerid).style.display = 'none';
	} else if(action == 'size' && floatwinhandle[handlekey + '_0']) {

⌨️ 快捷键说明

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