📄 common.js
字号:
clearTimeout(fadeOutTimer);
hide();
return;
}
menuObj.style.filter = 'progid:DXImageTransform.Microsoft.Alpha(opacity=' + O + ')';
menuObj.style.opacity = O / 100;
O -= 20;
var fadeOutTimer = setTimeout(function () {
fadeOut(O);
}, 40);
};
fadeOut(O);
} else {
hide();
}
}
}
function getCurrentStyle(obj, cssproperty, csspropertyNS) {
if(obj.style[cssproperty]){
return obj.style[cssproperty];
}
if (obj.currentStyle) {
return obj.currentStyle[cssproperty];
} else if (document.defaultView.getComputedStyle(obj, null)) {
var currentStyle = document.defaultView.getComputedStyle(obj, null);
var value = currentStyle.getPropertyValue(csspropertyNS);
if(!value){
value = currentStyle[cssproperty];
}
return value;
} else if (window.getComputedStyle) {
var currentStyle = window.getComputedStyle(obj, "");
return currentStyle.getPropertyValue(csspropertyNS);
}
}
function fetchOffset(obj, mode) {
var left_offset = 0, top_offset = 0, mode = !mode ? 0 : mode;
if(obj.getBoundingClientRect && !mode) {
var rect = obj.getBoundingClientRect();
var scrollTop = Math.max(document.documentElement.scrollTop, document.body.scrollTop);
var scrollLeft = Math.max(document.documentElement.scrollLeft, document.body.scrollLeft);
if(document.documentElement.dir == 'rtl') {
scrollLeft = scrollLeft + document.documentElement.clientWidth - document.documentElement.scrollWidth;
}
left_offset = rect.left + scrollLeft - document.documentElement.clientLeft;
top_offset = rect.top + scrollTop - document.documentElement.clientTop;
}
if(left_offset <= 0 || top_offset <= 0) {
left_offset = obj.offsetLeft;
top_offset = obj.offsetTop;
while((obj = obj.offsetParent) != null) {
position = getCurrentStyle(obj, 'position', 'position');
if(position == 'relative') {
continue;
}
left_offset += obj.offsetLeft;
top_offset += obj.offsetTop;
}
}
return {'left' : left_offset, 'top' : top_offset};
}
function showTip(ctrlobj) {
$F('_showTip', arguments);
}
function showPrompt(ctrlid, evt, msg, timeout) {
$F('_showPrompt', arguments);
}
function showCreditPrompt() {
$F('_showCreditPrompt', []);
}
var showDialogST = null;
function showDialog(msg, mode, t, func, cover, funccancel, leftmsg, confirmtxt, canceltxt, closetime, locationtime) {
clearTimeout(showDialogST);
cover = isUndefined(cover) ? (mode == 'info' ? 0 : 1) : cover;
leftmsg = isUndefined(leftmsg) ? '' : leftmsg;
mode = in_array(mode, ['confirm', 'notice', 'info', 'right']) ? mode : 'alert';
var menuid = 'fwin_dialog';
var menuObj = $(menuid);
confirmtxtdefault = '确定';
closetime = isUndefined(closetime) ? '' : closetime;
closefunc = function () {
if(typeof func == 'function') func();
else eval(func);
hideMenu(menuid, 'dialog');
};
if(closetime) {
leftmsg = closetime + ' 秒后窗口关闭';
showDialogST = setTimeout(closefunc, closetime * 1000);
}
locationtime = isUndefined(locationtime) ? '' : locationtime;
if(locationtime) {
leftmsg = locationtime + ' 秒后页面跳转';
showDialogST = setTimeout(closefunc, locationtime * 1000);
confirmtxtdefault = '立即跳转';
}
confirmtxt = confirmtxt ? confirmtxt : confirmtxtdefault;
canceltxt = canceltxt ? canceltxt : '取消';
if(menuObj) hideMenu('fwin_dialog', 'dialog');
menuObj = document.createElement('div');
menuObj.style.display = 'none';
menuObj.className = 'fwinmask';
menuObj.id = menuid;
$('append_parent').appendChild(menuObj);
var hidedom = '';
if(!BROWSER.ie) {
hidedom = '<style type="text/css">object{visibility:hidden;}</style>';
}
var s = hidedom + '<table cellpadding="0" cellspacing="0" class="fwin"><tr><td class="t_l"></td><td class="t_c"></td><td class="t_r"></td></tr><tr><td class="m_l"> </td><td class="m_c"><h3 class="flb"><em>';
s += t ? t : '提示信息';
s += '</em><span><a href="javascript:;" id="fwin_dialog_close" class="flbc" onclick="hideMenu(\'' + menuid + '\', \'dialog\')" title="关闭">关闭</a></span></h3>';
if(mode == 'info') {
s += msg ? msg : '';
} else {
s += '<div class="c altw"><div class="' + (mode == 'alert' ? 'alert_error' : (mode == 'right' ? 'alert_right' : 'alert_info')) + '"><p>' + msg + '</p></div></div>';
s += '<p class="o pns">' + (leftmsg ? '<span class="z xg1">' + leftmsg + '</span>' : '') + '<button id="fwin_dialog_submit" value="true" class="pn pnc"><strong>'+confirmtxt+'</strong></button>';
s += mode == 'confirm' ? '<button id="fwin_dialog_cancel" value="true" class="pn" onclick="hideMenu(\'' + menuid + '\', \'dialog\')"><strong>'+canceltxt+'</strong></button>' : '';
s += '</p>';
}
s += '</td><td class="m_r"></td></tr><tr><td class="b_l"></td><td class="b_c"></td><td class="b_r"></td></tr></table>';
menuObj.innerHTML = s;
if($('fwin_dialog_submit')) $('fwin_dialog_submit').onclick = function() {
if(typeof func == 'function') func();
else eval(func);
hideMenu(menuid, 'dialog');
};
if($('fwin_dialog_cancel')) {
$('fwin_dialog_cancel').onclick = function() {
if(typeof funccancel == 'function') funccancel();
else eval(funccancel);
hideMenu(menuid, 'dialog');
};
$('fwin_dialog_close').onclick = $('fwin_dialog_cancel').onclick;
}
showMenu({'mtype':'dialog','menuid':menuid,'duration':3,'pos':'00','zindex':JSMENU['zIndex']['dialog'],'cache':0,'cover':cover});
try {
if($('fwin_dialog_submit')) $('fwin_dialog_submit').focus();
} catch(e) {}
}
function showWindow(k, url, mode, cache, menuv) {
mode = isUndefined(mode) ? 'get' : mode;
cache = isUndefined(cache) ? 1 : cache;
var menuid = 'fwin_' + k;
var menuObj = $(menuid);
var drag = null;
var loadingst = null;
var hidedom = '';
if(disallowfloat && disallowfloat.indexOf(k) != -1) {
if(BROWSER.ie) url += (url.indexOf('?') != -1 ? '&' : '?') + 'referer=' + escape(location.href);
location.href = url;
doane();
return;
}
var fetchContent = function() {
if(mode == 'get') {
menuObj.url = url;
url += (url.search(/\?/) > 0 ? '&' : '?') + 'infloat=yes&handlekey=' + k;
url += cache == -1 ? '&t='+(+ new Date()) : '';
ajaxget(url, 'fwin_content_' + k, null, '', '', function() {initMenu();show();});
} else if(mode == 'post') {
menuObj.act = $(url).action;
ajaxpost(url, 'fwin_content_' + k, '', '', '', function() {initMenu();show();});
}
if(parseInt(BROWSER.ie) != 6) {
loadingst = setTimeout(function() {showDialog('', 'info', '<img src="' + IMGDIR + '/loading.gif"> 请稍候...')}, 500);
}
};
var initMenu = function() {
clearTimeout(loadingst);
var objs = menuObj.getElementsByTagName('*');
var fctrlidinit = false;
for(var i = 0; i < objs.length; i++) {
if(objs[i].id) {
objs[i].setAttribute('fwin', k);
}
if(objs[i].className == 'flb' && !fctrlidinit) {
if(!objs[i].id) objs[i].id = 'fctrl_' + k;
drag = objs[i].id;
fctrlidinit = true;
}
}
};
var show = function() {
hideMenu('fwin_dialog', 'dialog');
v = {'mtype':'win','menuid':menuid,'duration':3,'pos':'00','zindex':JSMENU['zIndex']['win'],'drag':typeof drag == null ? '' : drag,'cache':cache};
for(k in menuv) {
v[k] = menuv[k];
}
showMenu(v);
};
if(!menuObj) {
menuObj = document.createElement('div');
menuObj.id = menuid;
menuObj.className = 'fwinmask';
menuObj.style.display = 'none';
$('append_parent').appendChild(menuObj);
evt = ' style="cursor:move" onmousedown="dragMenu($(\'' + menuid + '\'), event, 1)" ondblclick="hideWindow(\'' + k + '\')"';
if(!BROWSER.ie) {
hidedom = '<style type="text/css">object{visibility:hidden;}</style>';
}
menuObj.innerHTML = hidedom + '<table cellpadding="0" cellspacing="0" class="fwin"><tr><td class="t_l"></td><td class="t_c"' + evt + '></td><td class="t_r"></td></tr><tr><td class="m_l"' + evt + ')"> </td><td class="m_c" id="fwin_content_' + k + '">'
+ '</td><td class="m_r"' + evt + '"></td></tr><tr><td class="b_l"></td><td class="b_c"' + evt + '></td><td class="b_r"></td></tr></table>';
if(mode == 'html') {
$('fwin_content_' + k).innerHTML = url;
initMenu();
show();
} else {
fetchContent();
}
} else if((mode == 'get' && (url != menuObj.url || cache != 1)) || (mode == 'post' && $(url).action != menuObj.act)) {
fetchContent();
} else {
show();
}
doane();
}
function showError(msg) {
var p = /<script[^\>]*?>([^\x00]*?)<\/script>/ig;
msg = msg.replace(p, '');
if(msg !== '') {
showDialog(msg, 'alert', '错误信息', null, true, null, '', '', '', 3);
}
}
function hideWindow(k, all, clear) {
all = isUndefined(all) ? 1 : all;
clear = isUndefined(clear) ? 1 : clear;
hideMenu('fwin_' + k, 'win');
if(clear && $('fwin_' + k)) {
$('append_parent').removeChild($('fwin_' + k));
}
if(all) {
hideMenu();
}
}
function AC_FL_RunContent() {
var str = '';
var ret = AC_GetArgs(arguments, "clsid:d27cdb6e-ae6d-11cf-96b8-444553540000", "application/x-shockwave-flash");
if(BROWSER.ie && !BROWSER.opera) {
str += '<object ';
for (var i in ret.objAttrs) {
str += i + '="' + ret.objAttrs[i] + '" ';
}
str += '>';
for (var i in ret.params) {
str += '<param name="' + i + '" value="' + ret.params[i] + '" /> ';
}
str += '</object>';
} else {
str += '<embed ';
for (var i in ret.embedAttrs) {
str += i + '="' + ret.embedAttrs[i] + '" ';
}
str += '></embed>';
}
return str;
}
function AC_GetArgs(args, classid, mimeType) {
var ret = new Object();
ret.embedAttrs = new Object();
ret.params = new Object();
ret.objAttrs = new Object();
for (var i = 0; i < args.length; i = i + 2){
var currArg = args[i].toLowerCase();
switch (currArg){
case "classid":break;
case "pluginspage":ret.embedAttrs[args[i]] = 'http://www.macromedia.com/go/getflashplayer';break;
case "src":ret.embedAttrs[args[i]] = args[i+1];ret.params["movie"] = args[i+1];break;
case "codebase":ret.objAttrs[args[i]] = 'http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,0,0';break;
case "onafterupdate":case "onbeforeupdate":case "onblur":case "oncellchange":case "onclick":case "ondblclick":case "ondrag":case "ondragend":
case "ondragenter":case "ondragleave":case "ondragover":case "ondrop":case "onfinish":case "onfocus":case "onhelp":case "onmousedown":
case "onmouseup":case "onmouseover":case "onmousemove":case "onmouseout":case "onkeypress":case "onkeydown":case "onkeyup":case "onload":
case "onlosecapture":case "onpropertychange":case "onreadystatechange":case "onrowsdelete":case "onrowenter":case "onrowexit":case "onrowsinserted":case "onstart":
case "onscroll":case "onbeforeeditfocus":case "onactivate":case "onbeforedeactivate":case "ondeactivate":case "type":
case "id":ret.objAttrs[args[i]] = args[i+1];break;
case "width":case "height":case "align":case "vspace": case "hspace":case "class":case "title":case "accesskey":case "name":
case "tabindex":ret.embedAttrs[args[i]] = ret.objAttrs[args[i]] = args[i+1];break;
default:ret.embedAttrs[args[i]] = ret.params[args[i]] = args[i+1];
}
}
ret.objAttrs["classid"] = classid;
if(mimeType) {
ret.embedAttrs["type"] = mimeType;
}
return ret;
}
function simulateSelect(selectId, widthvalue) {
var selectObj = $(selectId);
if(!selectObj) return;
if(BROWSER.other) {
if(selectObj.getAttribute('change')) {
selectObj.onchange = function () {eval(selectObj.getAttribute('change'));}
}
return;
}
var widthvalue = widthvalue ? widthvalue : 70;
var defaultopt = selectObj.options[0] ? selectObj.options[0].innerHTML : '';
var defaultv = '';
var menuObj = document.createElement('div');
var ul = document.createElement('ul');
var handleKeyDown = function(e) {
e = BROWSER.ie ? event : e;
if(e.keyCode == 40 || e.keyCode == 38) doane(e);
};
var selectwidth = (selectObj.getAttribute('width', i) ? selectObj.getAttribute('width', i) : widthvalue) + 'px';
var tabindex = selectObj.getAttribute('tabindex', i) ? selectObj.getAttribute('tabindex', i) : 1;
for(var i = 0; i < selectObj.options.length; i++) {
var li = document.createElement('li');
li.innerHTML = selectObj.options[i].innerHTML;
li.k_id = i;
li.k_value = selectObj.options[i].value;
if(selectObj.options[i].selected) {
defaultopt = selectObj.options[i].innerHTML;
defaultv = selectObj.options[i].value;
li.className = 'current';
selectObj.setAttribute('selecti', i);
}
li.onclick = function() {
if($(selectId + '_ctrl').innerHTML != this.innerHTML) {
var lis = menuObj.getElementsByTagName('li');
lis[$(selectId).getAttribute('selecti')].className = '';
this.className = 'current';
$(selectId + '_ctrl').innerHTML = this.innerHTML;
$(selectId).setAttribute('selecti', this.k_id);
$(selectId).options.length = 0;
$(selectId).options[0] = new Option('', this.k_value);
eval(selectObj.getAttribute('change'));
}
hideMenu(menuObj.id);
return false;
};
ul.appendChild(li);
}
selectObj.options.length = 0;
selectObj.options[0]= new Option('', defaultv);
selectObj.style.display = 'none';
selectObj.outerHTML += '<a href="javascript:;" id="' + selectId + '_ctrl" style="width:' + selectwidth + '" tabindex="' + tabindex + '">' + defaultopt + '</a>';
menuObj.id = selectId + '_ctrl_menu';
menuObj.className = 'sltm';
menuObj.style.display = 'none';
menuObj.style.width = selectwidth;
menuObj.appendChild(ul);
$('append_parent').appendChild(menuObj);
$(selectId + '_ctrl').onclick = function(e) {
$(selectId + '_ctrl_menu').style.width = selectwidth;
showMenu({'ctrlid':(selectId == 'loginfield' ? 'account' : selectId + '_ctrl'),'menuid':selectId + '_ctrl_menu','evt':'click','pos':'43'});
doane(e);
};
$(selectId + '_ctrl').onfocus = menuObj.onfocus = function() {
_attachEvent(document.body, 'keydown', handleKeyDown);
};
$(selectId + '_ctrl').onblur = menuObj.onblur = function() {
_detachEvent(document.body, 'keydown', handleKeyDown);
};
$(selectId + '_ctrl').onkeyup = function(e) {
e = e ? e : window.event;
value = e.keyCode;
if(value == 40 || value == 38) {
if(menuObj.style.display == 'none') {
$(selectId + '_ctrl').onclick();
} else {
lis = menuObj.getElementsByTagName('li');
selecti = selectObj.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';
selectObj.setAttribute('selecti', selecti);
lis[selecti].parentNode.scrollTop = lis[selecti].offsetTop;
}
} else if(value == 13) {
var lis = menuObj.getElementsByTagName('li');
lis[selectObj.getAttribute('selecti')].onclick();
} else if(value == 27) {
hideMenu(menuObj.id);
}
};
}
function switchTab(prefix, current, total, activeclass) {
$F('_switchTab', arguments);
}
function imageRotate(imgid, direct) {
$F('_imageRotate', arguments);
}
function thumbImg(obj, method) {
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -