overlib.js

////////////////////////////////////////////////////////////////////////////////////
//
//    ATTENTION NETSCAPE NAVIGATOR 3.0 USERS!!!
//
//    If you see this text while using the site and you did NOT click on
//    View -> Source, you're using a buggy browser.
//
//    FOLLOW THESE STEPS
//
//    Read through these two steps before doing them.
//    1. Press your BACK BUTTON.
//    2. Click on REFRESH or RELOAD.
//
//    You should now be able to use the site without seeing this message.
//    This problem can however return if your browser does not cache this
//    document correctly.
//
//    UPGRADE YOUR BROWSER
//
//    Upgrade your browser to Netscape's latest and you will not have this
//    problem any more.
//
//    Netscape browsers can be found at http://home.netscape.com/
//
////////////////////////////////////////////////////////////////////////////////////

////////////////////////////////////////////////////////////////////////////////////
//  overLIB 2.22  --  Please leave this notice.
//
//  By Erik Bosrup ([email protected])  Last modified 1999-03-31
//  Portions by Dan Steinman, Landon Bradshaw and Gnowknayme.
//
//  Get the latest version at http://www.bosrup.com/web/overlib/
//
//  This script library was created for my personal usage from the start
//  but then it became so popular I made an easy to use version. It's that
//  version you're using now. Since this is free please don't try to sell
//  this solution to a company claiming it is yours. Give me credit where
//  credit is due and I'll be happy. And I'd love to see any changes you've
//  done to the code. Free to use - don't abuse.
////////////////////////////////////////////////////////////////////////////////////


////////////////////////////////////////////////////////////////////////////////////
// CONFIGURATION
////////////////////////////////////////////////////////////////////////////////////

// 主體背景色(大區域)
// 通常使用明快的顏色(淺黃色等...)
 if (typeof fcolor == 'undefined') { var fcolor = "CCCCFF";} //#CCCCFF
 
// Border的顏色和標題欄的顏色;
// 通常的顏色深(褐色,黑色等。)
 if (typeof backcolor == 'undefined') { var backcolor = "#9999cc";} //灰色#CDCDCD藍色#333399淡藍色9999cc
 
// 主體文字的顏色
// 通常是比較深的顏色;
 if (typeof textcolor == 'undefined') { var textcolor = "lightgray";} //黑色#000000黃色#999900
 
// 標題文字的顏色
// 通常是明快的顏色;
 if (typeof capcolor == 'undefined') { var capcolor = "#CDCDCD";}//#FFFFFF
 
// "Close"的顏色
// 通常是明快的顏色;
 if (typeof closecolor == 'undefined') { var closecolor = "blue";}
 
 
// 彈出的窗口的寬度;
// 100-300 pixels 合適
 if (typeof width == 'undefined') { var width = "130";}
 
// 邊緣的寬度,象素。
// 1-3 pixels 合適
 if (typeof border == 'undefined') { var border = "1";}
 
 
// 彈出窗口位於鼠標左側或者右側的距離,象素。
// 3-12合適
 if (typeof offsetx == 'undefined') { var offsetx = 10;}
 
// 彈出窗口位於鼠標下方的距離;
// 3-12 合適
 if (typeof offsety == 'undefined') { var offsety = 10;}
 
////////////////////////////////////////////////////////////////////////////////////
// END CONFIGURATION(設置結束)
////////////////////////////////////////////////////////////////////////////////////

ns4 = (document.layers)? true:false
ie4 = (document.all)? true:false

// Microsoft Stupidity Check.
if (ie4) {
 if (navigator.userAgent.indexOf('MSIE 5')>0) {
  ie5 = true;
 } else {
  ie5 = false; }
} else {
 ie5 = false;
}

var x = 0;
var y = 0;
var snow = 0;
var sw = 0;
var cnt = 0;
var dir = 1;
var tr = 1;
if ( (ns4) || (ie4) ) {
 if (ns4) over = document.overDiv
 if (ie4) over = overDiv.style
 document.onmousemove = mouseMove
 if (ns4) document.captureEvents(Event.MOUSEMOVE)
}

// Public functions to be used on pages.

// Simple popup right
function drs(text) {
 dts(1,text);
}

// Caption popup right
function drc(text, title) {
 dtc(1,text,title);
}

// Sticky caption right
function src(text,title) {
 stc(1,text,title);
}

// Simple popup left
function dls(text) {
 dts(0,text);
}

// Caption popup left
function dlc(text, title) {
 dtc(0,text,title);
}

// Sticky caption left
function slc(text,title) {
 stc(0,text,title);
}

// Simple popup center
function dcs(text) {
 dts(2,text);
}

// Caption popup center
function dcc(text, title) {
 dtc(2,text,title);
}

// Sticky caption center
function scc(text,title) {
 stc(2,text,title);
}

// Clears popups if appropriate
function nd() {
 if ( cnt >= 1 ) { sw = 0 };
 if ( (ns4) || (ie4) ) {
  if ( sw == 0 ) {
   snow = 0;
   hideObject(over);
  } else {
   cnt++;
  }
 }
}

// Non public functions. These are called by other functions etc.

// Simple popup
function dts(d,text) {
 txt = "<TABLE WIDTH="+width+" BORDER=0 CELLPADDING="+border+" CELLSPACING=0 BGCOLOR=/""+backcolor+"/"><TR><TD><TABLE WIDTH=100% BORDER=0 CELLPADDING=2 CELLSPACING=0 BGCOLOR=/""+fcolor+"/"><TR><TD><FONT FACE=/"Arial,Helvetica/" COLOR=/""+textcolor+"/" SIZE=/"-2/">"+text+"</FONT></TD></TR></TABLE></TD></TR></TABLE>"
 layerWrite(txt);
 dir = d;
 disp();
}

// Caption popup
function dtc(d,text, title) {
 txt = "<TABLE WIDTH="+width+" BORDER=0 CELLPADDING="+border+" CELLSPACING=0 BGCOLOR=/""+backcolor+"/"><TR><TD><TABLE WIDTH=100% BORDER=0 CELLPADDING=0 CELLSPACING=0><TR><TD><SPAN ID=/"PTT/"><B><FONT COLOR=/""+capcolor+"/">"+title+"</FONT></B></SPAN></TD></TR></TABLE><TABLE WIDTH=100% BORDER=0 CELLPADDING=2 CELLSPACING=0 BGCOLOR=/""+fcolor+"/"><TR><TD><SPAN ID=/"PST/"><FONT COLOR=/""+textcolor+"/">"+text+"</FONT><SPAN></TD></TR></TABLE></TD></TR></TABLE>"
 layerWrite(txt);
 dir = d;
 disp();
}

// Sticky
function stc(d,text, title) {
 sw = 1;
 cnt = 0;
 txt = "<TABLE WIDTH="+width+" BORDER=0 CELLPADDING="+border+" CELLSPACING=0 BGCOLOR=/""+backcolor+"/"><TR><TD><TABLE WIDTH=100% BORDER=0 CELLPADDING=0 CELLSPACING=0><TR><TD><SPAN ID=/"PTT/"><B><FONT COLOR=/""+capcolor+"/">"+title+"</FONT></B></SPAN></TD><TD ALIGN=RIGHT><A HREF=/"//" onMouseOver=/"cClick();/" ID=/"PCL/"><FONT COLOR=/""+closecolor+"/">Close</FONT></A></TD></TR></TABLE><TABLE WIDTH=100% BORDER=0 CELLPADDING=2 CELLSPACING=0 BGCOLOR=/""+fcolor+"/"><TR><TD><SPAN ID=/"PST/"><FONT COLOR=/""+textcolor+"/">"+text+"</FONT><SPAN></TD></TR></TABLE></TD></TR></TABLE>"
 layerWrite(txt);
 dir = d;
 disp();
 snow = 0;
}

// Common calls
function disp() {
 if ( (ns4) || (ie4) ) {
  if (snow == 0)  {
   if (dir == 2) { // Center
    moveTo(over,x+offsetx-(width/2),y+offsety);
   }
   if (dir == 1) { // Right
    moveTo(over,x+offsetx,y+offsety);
   }
   if (dir == 0) { // Left
    moveTo(over,x-offsetx-width,y+offsety);
   }
   showObject(over);
   snow = 1;
  }
 }
// Here you can make the text goto the statusbar.
}

// Moves the layer
function mouseMove(e) {
 if (ns4) {x=e.pageX; y=e.pageY;}
 if (ie4) {x=event.x; y=event.y;}
 if (ie5) {x=event.x+document.body.scrollLeft; y=event.y+document.body.scrollTop;}
 if (snow) {
  if (dir == 2) { // Center
   moveTo(over,x+offsetx-(width/2),y+offsety);
  }
  if (dir == 1) { // Right
   moveTo(over,x+offsetx,y+offsety);
  }
  if (dir == 0) { // Left
   moveTo(over,x-offsetx-width,y+offsety);
  }
 }
}

// The Close onMouseOver function for Sticky
function cClick() {
 hideObject(over);
 sw=0;
}

// Writes to a layer
function layerWrite(txt) {
        if (ns4) {
                var lyr = document.overDiv.document
                lyr.write(txt)
                lyr.close()
        }
        else if (ie4) document.all["overDiv"].innerHTML = txt
  if (tr) { trk(); }
}

// Make an object visible
function showObject(obj) {
        if (ns4) obj.visibility = "show"
        else if (ie4) obj.visibility = "visible"
}

// Hides an object
function hideObject(obj) {
        if (ns4) obj.visibility = "hide"
        else if (ie4) obj.visibility = "hidden"
}

// Move a layer
function moveTo(obj,xL,yL) {
        obj.left = xL
        obj.top = yL
}

function trk() {
 if ( (ns4) || (ie4) ) {
   nt=new Image(32,32); nt.src="http://www.nedstat.nl/cgi-bin/nedstat.gif?name=ol2t";
   bt=new Image(1,1); bt.src="http://www.bosrup.com/web/overlib/o2/tr.gif";
   refnd=new Image(1,1); refnd.src="http://www.nedstat.nl/cgi-bin/referstat.gif?name=ol2t&refer="+escape(top.document.referrer);
   
 }
 tr = 0;
}

//測試頁面show.html

//<body>
//<DIV ID="overDiv" STYLE="position:absolute; visibility:hide; z-index:1;"></DIV><BR>
//<SCRIPT LANGUAGE="JavaScript" SRC="overlib.js"></SCRIPT>

//<A HREF="docs.html" onMouseOver="drc('文字內容','標題'); return true;" onMouseOut="nd(); return true;">無憂腳本</A>

//<A HREF="docs.html" onClick="src('文字內容','標題'); return false;" onMouseOver="drs('歡迎訪問無憂腳本'); return true;" onMouseOut="nd(); return true;">沒有了//標題</A>
//</body> 

發佈了19 篇原創文章 · 獲贊 6 · 訪問量 5萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章