📄 overlib.js
字号:
if (o3_timerid > 0) clearTimeout(o3_timerid); o3_timerid = setTimeout("cClick()", o3_timeout); } // Show layer runHook("disp", FREPLACE, o3_status); runHook("olMain", FAFTER); if (o3_status != '') { return true; } else { return; }}////////// LAYER GENERATION FUNCTIONS////////// These functions just handle popup content with tags that should adhere to the W3C standards specification.// Makes simple table without captionfunction ol_content_simple(text) { txt='<table width="'+o3_width+ '" border="0" cellpadding="'+o3_border+'" cellspacing="0" '+(o3_bgclass ? 'class="'+o3_bgclass+'"' : o3_bgcolor+' '+o3_height)+'><tr><td><table width="100%" border="0" cellpadding="' + o3_cellpad + '" cellspacing="0" '+(o3_fgclass ? 'class="'+o3_fgclass+'"' : o3_fgcolor+' '+o3_fgbackground+' '+o3_height)+'><tr><td valign="TOP"'+(o3_textfontclass ? ' class="'+o3_textfontclass+'">' : '>')+(o3_textfontclass ? '' : wrapStr(0,o3_textsize,'text'))+text+(o3_textfontclass ? '' : wrapStr(1,o3_textsize))+'</td></tr></table></td></tr></table>'; set_background(""); return txt;}// Makes table with caption and optional close linkfunction ol_content_caption(text,title,close) { var nameId; closing=""; closeevent="onmouseover"; if (o3_closeclick==1) closeevent= (o3_closetitle ? "title='" + o3_closetitle +"'" : "") + " onclick"; if (o3_capicon!="") { nameId=' hspace=\"5\"'+' align=\"middle\" alt=\"\"'; if (typeof o3_dragimg!='undefined'&&o3_dragimg) nameId=' hspace=\"5\"'+' name=\"'+o3_dragimg+'\" id=\"'+o3_dragimg+'\" align=\"middle\" alt=\"Drag Enabled\" title=\"Drag Enabled\"'; o3_capicon='<img src=\"'+o3_capicon+'\"'+nameId+' />'; } if (close != "") closing='<td '+(o3_closefontclass ? 'class="'+o3_closefontclass : 'align="RIGHT')+'"><a href="javascript:return '+fnRef+'cClick();" '+closeevent+'="return '+fnRef+'cClick();">'+(o3_closefontclass ? '' : wrapStr(0,o3_closesize,'close'))+close+(o3_closefontclass ? '' : wrapStr(1,o3_closesize,'close'))+'</a></td>'; txt='<table width="'+o3_width+ '" border="0" cellpadding="'+o3_border+'" cellspacing="0" '+(o3_bgclass ? 'class="'+o3_bgclass+'"' : o3_bgcolor+' '+o3_bgbackground+' '+o3_height)+'><tr><td><table width="100%" border="0" cellpadding="0" cellspacing="0"><tr><td'+(o3_captionfontclass ? ' class="'+o3_captionfontclass+'">' : '>')+(o3_captionfontclass ? '' : '<b>'+wrapStr(0,o3_captionsize,'caption'))+o3_capicon+title+(o3_captionfontclass ? '' : wrapStr(1,o3_captionsize)+'</b>')+'</td>'+closing+'</tr></table><table width="100%" border="0" cellpadding="' + o3_cellpad + '" cellspacing="0" '+(o3_fgclass ? 'class="'+o3_fgclass+'"' : o3_fgcolor+' '+o3_fgbackground+' '+o3_height)+'><tr><td valign="TOP"'+(o3_textfontclass ? ' class="'+o3_textfontclass+'">' :'>')+(o3_textfontclass ? '' : wrapStr(0,o3_textsize,'text'))+text+(o3_textfontclass ? '' : wrapStr(1,o3_textsize)) + '</td></tr></table></td></tr></table>'; set_background(""); return txt;}// Sets the background picture,padding and lots more. :)function ol_content_background(text,picture,hasfullhtml) { if (hasfullhtml) { txt=text; } else { txt='<table width="'+o3_width+'" border="0" cellpadding="0" cellspacing="0" height="'+o3_height+'"><tr><td colspan="3" height="'+o3_padyt+'"></td></tr><tr><td width="'+o3_padxl+'"></td><td valign="TOP" width="'+(o3_width-o3_padxl-o3_padxr)+'">'+wrapStr(0,o3_textsize,'text')+text+wrapStr(1,o3_textsize)+'</td><td width="'+o3_padxr+'"></td></tr><tr><td colspan="3" height="'+o3_padyb+'"></td></tr></table>'; } set_background(picture); return txt;}// Loads a picture into the div.function set_background(pic) { if (pic == "") { if (olNs4) { over.background.src = null; } else if (over.style) { over.style.backgroundImage = "none"; } } else { if (olNs4) { over.background.src = pic; } else if (over.style) { over.style.backgroundImage = "url("+pic+")"; } }}////////// HANDLING FUNCTIONS////////// Displays the popupfunction disp(statustext) { runHook("disp", FBEFORE); if (o3_allowmove == 0) { runHook("placeLayer", FREPLACE); runHook("showObject", FREPLACE, over); o3_allowmove = (o3_sticky || o3_followmouse==0) ? 0 : 1; } runHook("disp", FAFTER); if (statustext != "") self.status = statustext;}// Creates the actual popup structurefunction createPopup(lyrContent){ runHook("createPopup", FBEFORE); if (o3_wrap && !(olNs4 || olOp)) { if (olIe4) { over.style.pixelWidth = 0; } else if (olNs6) { repositionTo(over, 0, -over.offsetHeight); } } layerWrite(lyrContent); // Have to set o3_width for placeLayer() routine if o3_wrap is turned on if (o3_wrap) o3_width=(olNs4 ? over.clip.width : over.offsetWidth); runHook("createPopup", FAFTER, lyrContent); return true;}// Decides where we want the popup.function placeLayer() { var placeX, placeY, widthFix = 0; // HORIZONTAL PLACEMENT if (eval('o3_frame.'+docRoot) && eval("typeof o3_frame."+docRoot+".clientWidth=='number'") && eval('o3_frame.'+docRoot+'.clientWidth')) { iwidth = eval('o3_frame.'+docRoot+'.clientWidth'); } else if (typeof(o3_frame.innerWidth) == 'number') { widthFix = Math.ceil(1.2*(o3_frame.outerWidth - o3_frame.innerWidth)); iwidth = o3_frame.innerWidth; } // Horizontal scroll offset winoffset=(olIe4) ? eval('o3_frame.'+docRoot+'.scrollLeft') : o3_frame.pageXOffset; var parsedWidth = parseInt(o3_width); if (o3_fixx > -1 || o3_relx != null) { // Fixed position placeX=(o3_relx != null ? ( o3_relx < 0 ? winoffset +o3_relx+ iwidth - parsedWidth - widthFix : winoffset+o3_relx) : o3_fixx); } else { // If HAUTO, decide what to use. if (o3_hauto == 1) { if ((o3_x - winoffset) > (iwidth / 2)) { o3_hpos = LEFT; } else { o3_hpos = RIGHT; } } // From mouse if (o3_hpos == CENTER) { // Center placeX = o3_x+o3_offsetx-(parsedWidth/2); if (placeX < winoffset) placeX = winoffset; } if (o3_hpos == RIGHT) { // Right placeX = o3_x+o3_offsetx; if ((placeX+parsedWidth) > (winoffset+iwidth - widthFix)) { placeX = iwidth+winoffset - parsedWidth - widthFix; if (placeX < 0) placeX = 0; } } if (o3_hpos == LEFT) { // Left placeX = o3_x-o3_offsetx-parsedWidth; if (placeX < winoffset) placeX = winoffset; } // Snapping! if (o3_snapx > 1) { var snapping = placeX % o3_snapx; if (o3_hpos == LEFT) { placeX = placeX - (o3_snapx+snapping); } else { // CENTER and RIGHT placeX = placeX+(o3_snapx - snapping); } if (placeX < winoffset) placeX = winoffset; } } // VERTICAL PLACEMENT if (eval('o3_frame.'+docRoot) && eval("typeof o3_frame."+docRoot+".clientHeight=='number'") && eval('o3_frame.'+docRoot+'.clientHeight')) { iheight = eval('o3_frame.'+docRoot+'.clientHeight'); } else if (typeof(o3_frame.innerHeight)=='number') { iheight = o3_frame.innerHeight; } // Vertical scroll offset scrolloffset=(olIe4) ? eval('o3_frame.'+docRoot+'.scrollTop') : o3_frame.pageYOffset; var parsedHeight=(o3_aboveheight ? parseInt(o3_aboveheight) : (olNs4 ? over.clip.height : over.offsetHeight)); if (o3_fixy > -1 || o3_rely != null) { // Fixed position placeY=(o3_rely != null ? (o3_rely < 0 ? scrolloffset+o3_rely+iheight - parsedHeight : scrolloffset+o3_rely) : o3_fixy); } else { // If VAUTO, decide what to use. if (o3_vauto == 1) { if ((o3_y - scrolloffset) > (iheight/2)) { o3_vpos = ABOVE; } else { o3_vpos = BELOW; } } // From mouse if (o3_vpos == ABOVE) { if (o3_aboveheight == 0) o3_aboveheight = parsedHeight; placeY = o3_y - (o3_aboveheight+o3_offsety); if (placeY < scrolloffset) placeY = scrolloffset; } else { // BELOW placeY = o3_y+o3_offsety; } // Snapping! if (o3_snapy > 1) { var snapping = placeY % o3_snapy; if (o3_aboveheight > 0 && o3_vpos == ABOVE) { placeY = placeY - (o3_snapy+snapping); } else { placeY = placeY+(o3_snapy - snapping); } if (placeY < scrolloffset) placeY = scrolloffset; } } // Actually move the object. repositionTo(over, placeX, placeY);}// Moves the layerfunction olMouseMove(e) { var e = (e) ? e : event; if (e.pageX) { o3_x = e.pageX; o3_y = e.pageY; } else if (e.clientX) { o3_x = eval('e.clientX+o3_frame.'+docRoot+'.scrollLeft'); o3_y = eval('e.clientY+o3_frame.'+docRoot+'.scrollTop'); } if (o3_allowmove == 1) runHook("placeLayer", FREPLACE); // MouseOut handler if (hoveringSwitch && !olNs4 && runHook("cursorOff", FREPLACE)) { cClick(); hoveringSwitch = !hoveringSwitch; }}// Fake function for 3.0 users.function no_overlib() { return ver3fix; }// Capture the mouse and chain other scripts.function olMouseCapture() { capExtent = document; var fN, mseHandler = olMouseMove; var re = /function[ ]+(\w+)\(/; if (document.onmousemove || (!olIe4 && window.onmousemove)) { if (window.onmousemove) capExtent = window; fN = capExtent.onmousemove.toString().match(re); if (fN[1] == 'anonymous' || fN[1] == 'olMouseMove') { olCheckMouseCapture = false; return; } var str = fN[1]+'(e); ' + 'olMouseMove(e); '; mseHandler = new Function('e', str); } capExtent.onmousemove = mseHandler; if (olNs4) capExtent.captureEvents(Event.MOUSEMOVE);}////////// PARSING FUNCTIONS////////// Does the actual command parsing.function parseTokens(pf, ar) { // What the next argument is expected to be. var v, mode=-1, par = (pf != 'ol_'); var fnMark = (par && !ar.length ? 1 : 0); for (i = 0; i < ar.length; i++) { if (mode < 0) { // Arg is maintext,unless its a number between pmStart and pmUpper // then its a command. if (typeof ar[i] == 'number' && ar[i] > pmStart && ar[i] < pmUpper) { fnMark = (par ? 1 : 0); i--; // backup one so that the next block can parse it } else { switch(pf) { case 'ol_': ol_text = ar[i].toString(); break; default: o3_text=ar[i].toString(); } } mode = 0; } else { // Note: NS4 doesn't like switch cases with vars. if (ar[i] >= pmCount || ar[i]==DONOTHING) { continue; } if (ar[i]==INARRAY) { fnMark = 0; eval(pf+'text=ol_texts['+ar[++i]+'].toString()'); continue; } if (ar[i]==CAPARRAY) { eval(pf+'cap=ol_caps['+ar[++i]+'].toString()'); continue; } if (ar[i]==STICKY) { if (pf!='ol_') eval(pf+'sticky=1'); continue; } if (ar[i]==BACKGROUND) { eval(pf+'background="'+ar[++i]+'"'); continue; } if (ar[i]==NOCLOSE) { if (pf!='ol_') opt_NOCLOSE(); continue; } if (ar[i]==CAPTION) { eval(pf+"cap='"+escSglQuote(ar[++i])+"'"); continue; } if (ar[i]==CENTER || ar[i]==LEFT || ar[i]==RIGHT) { eval(pf+'hpos='+ar[i]); continue; } if (ar[i]==OFFSETX) { eval(pf+'offsetx='+ar[++i]); continue; } if (ar[i]==OFFSETY) { eval(pf+'offsety='+ar[++i]); continue; } if (ar[i]==FGCOLOR) { eval(pf+'fgcolor="'+ar[++i]+'"'); continue; } if (ar[i]==BGCOLOR) { eval(pf+'bgcolor="'+ar[++i]+'"'); continue; } if (ar[i]==TEXTCOLOR) { eval(pf+'textcolor="'+ar[++i]+'"'); continue; } if (ar[i]==CAPCOLOR) { eval(pf+'capcolor="'+ar[++i]+'"'); continue; } if (ar[i]==CLOSECOLOR) { eval(pf+'closecolor="'+ar[++i]+'"'); continue; } if (ar[i]==WIDTH) { eval(pf+'width='+ar[++i]); continue; } if (ar[i]==BORDER) { eval(pf+'border='+ar[++i]); continue; } if (ar[i]==CELLPAD) { i=opt_MULTIPLEARGS(++i,ar,(pf+'cellpad')); continue; } if (ar[i]==STATUS) { eval(pf+"status='"+escSglQuote(ar[++i])+"'"); continue; } if (ar[i]==AUTOSTATUS) { eval(pf +'autostatus=('+pf+'autostatus == 1) ? 0 : 1'); continue; } if (ar[i]==AUTOSTATUSCAP) { eval(pf +'autostatus=('+pf+'autostatus == 2) ? 0 : 2'); continue; } if (ar[i]==HEIGHT) { eval(pf+'height='+pf+'aboveheight='+ar[++i]); continue; } // Same param again. if (ar[i]==CLOSETEXT) { eval(pf+"close='"+escSglQuote(ar[++i])+"'"); continue; } if (ar[i]==SNAPX) { eval(pf+'snapx='+ar[++i]); continue; } if (ar[i]==SNAPY) { eval(pf+'snapy='+ar[++i]); continue; } if (ar[i]==FIXX) { eval(pf+'fixx='+ar[++i]); continue; } if (ar[i]==FIXY) { eval(pf+'fixy='+ar[++i]); continue; } if (ar[i]==RELX) { eval(pf+'relx='+ar[++i]); continue; } if (ar[i]==RELY) { eval(pf+'rely='+ar[++i]); continue; } if (ar[i]==FGBACKGROUND) { eval(pf+'fgbackground="'+ar[++i]+'"'); continue; } if (ar[i]==BGBACKGROUND) { eval(pf+'bgbackground="'+ar[++i]+'"'); continue; } if (ar[i]==PADX) { eval(pf+'padxl='+ar[++i]); eval(pf+'padxr='+ar[++i]); continue; } if (ar[i]==PADY) { eval(pf+'padyt='+ar[++i]); eval(pf+'padyb='+ar[++i]); continue; } if (ar[i]==FULLHTML) { if (pf!='ol_') eval(pf+'fullhtml=1'); continue; } if (ar[i]==BELOW || ar[i]==ABOVE) { eval(pf+'vpos='+ar[i]); continue; } if (ar[i]==CAPICON) { eval(pf+'capicon="'+ar[++i]+'"'); continue; } if (ar[i]==TEXTFONT) { eval(pf+"textfont='"+escSglQuote(ar[++i])+"'"); continue; } if (ar[i]==CAPTIONFONT) { eval(pf+"captionfont='"+escSglQuote(ar[++i])+"'"); continue; } if (ar[i]==CLOSEFONT) { eval(pf+"closefont='"+escSglQuote(ar[++i])+"'"); continue; } if (ar[i]==TEXTSIZE) { eval(pf+'textsize="'+ar[++i]+'"'); continue; } if (ar[i]==CAPTIONSIZE) { eval(pf+'captionsize="'+ar[++i]+'"'); continue; } if (ar[i]==CLOSESIZE) { eval(pf+'closesize="'+ar[++i]+'"'); continue; } if (ar[i]==TIMEOUT) { eval(pf+'timeout='+ar[++i]); continue; } if (ar[i]==FUNCTION) { if (pf=='ol_') { if (typeof ar[i+1]!='number') { v=ar[++i]; ol_function=(typeof v=='function' ? v : null); }} else {fnMark = 0; v = null; if (typeof ar[i+1]!='number') v = ar[++i]; opt_FUNCTION(v); } continue; } if (ar[i]==DELAY) { eval(pf+'delay='+ar[++i]); continue; } if (ar[i]==HAUTO) { eval(pf+'hauto=('+pf+'hauto == 0) ? 1 : 0'); continue; } if (ar[i]==VAUTO) { eval(pf+'vauto=('+pf+'vauto == 0) ? 1 : 0'); continue; } if (ar[i]==CLOSECLICK) { eval(pf +'closeclick=('+pf+'closeclick == 0) ? 1 : 0'); continue; } if (ar[i]==WRAP) { eval(pf +'wrap=('+pf+'wrap == 0) ? 1 : 0'); continue; } if (ar[i]==FOLLOWMOUSE) { eval(pf +'followmouse=('+pf+'followmouse == 1) ? 0 : 1'); continue; } if (ar[i]==MOUSEOFF) { eval(pf +'mouseoff=('+pf+'mouseoff == 0) ? 1 : 0'); continue; } if (ar[i]==CLOSETITLE) { eval(pf+"closetitle='"+escSglQuote(ar[++i])+"'"); continue; } if (ar[i]==CSSOFF||ar[i]==CSSCLASS) { eval(pf+'css='+ar[i]); continue; } if (ar[i]==FGCLASS) { eval(pf+'fgclass="'+ar[++i]+'"'); continue; } if (ar[i]==BGCLASS) { eval(pf+'bgclass="'+ar[++i]+'"'); continue; } if (ar[i]==TEXTFONTCLASS) { eval(pf+'textfontclass="'+ar[++i]+'"'); continue; } if (ar[i]==CAPTIONFONTCLASS) { eval(pf+'captionfontclass="'+ar[++i]+'"'); continue; } if (ar[i]==CLOSEFONTCLASS) { eval(pf+'closefontclass="'+ar[++i]+'"'); continue; } i = parseCmdLine(pf, i, ar); } } if (fnMark && o3_function) o3_text = o3_function(); if ((pf == 'o3_') && o3_wrap) { o3_width = 0; if (olOp || (olIe4 && isMac)) { var tReg=/<.*\n*>/ig; if (!tReg.test(o3_text)) o3_text = o3_text.replace(/[ ]+/g, ' '); if (!tReg.test(o3_cap))o3_cap = o3_cap.replace(/[ ]+/g, ' '); } } if ((pf == 'o3_') && o3_sticky) { if (!o3_close && (o3_frame != ol_frame)) o3_close = ol_close; if (o3_mouseoff && (o3_frame == ol_frame)) opt_NOCLOSE(' '); }}////////// LAYER FUNCTIONS////////// Writes to a layerfunction layerWrite(txt) { txt += "\n"; if (olNs4) { var lyr = o3_frame.document.overDiv.document lyr.write(txt) lyr.close() } else if (typeof over.innerHTML != 'undefined') { if (olIe5 && isMac) over.innerHTML = ''; over.innerHTML = txt; } else { range = o3_frame.document.createRange(); range.setStartAfter(over); domfrag = range.createContextualFragment(txt); while (over.hasChildNodes()) { over.removeChild(over.lastChild); } over.appendChild(domfrag); }}// Make an object visiblefunction showObject(obj) { runHook("showObject", FBEFORE); var theObj=(olNs4 ? obj : obj.style); theObj.visibility = 'visible'; runHook("showObject", FAFTER);}// Hides an objectfunction hideObject(obj) { runHook("hideObject", FBEFORE); var theObj=(olNs4 ? obj : obj.style); theObj.visibility = 'hidden'; if (o3_timerid > 0) clearTimeout(o3_timerid); if (o3_delayid > 0) clearTimeout(o3_delayid); o3_timerid = 0; o3_delayid = 0;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -