当前位置: 首页 > 工具软件 > Overhang.js > 使用案例 >

overlib.js

施子民
2023-12-01


//
//    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 (erik@bosrup.com)  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> 

 类似资料:

相关阅读

相关文章

相关问答