home *** CD-ROM | disk | FTP | other *** search
/ Correspondence Bible School - Life of Jesus Christ / _____.iso / Script / ALTTXT.JS next >
Text File  |  2001-06-03  |  5KB  |  151 lines

  1. /////////////////////////////////////////////////////////////////////////////////////////////////////////////
  2. //
  3. //  ALTTXT V1.2
  4. //  BY: BRIAN GOSSELIN OF SCRIPTASYLUM.COM
  5. //  ADDED FADING EFFECT FOR IE4+ AND NS6+ ONLY AND OPTIMIZED THE CODE A BIT.
  6. //  SCRIPT FEATURED ON DYNAMIC DRIVE (http://www.dynamicdrive.com) 
  7.  
  8.  
  9. var dofade=true;     // ENABLES FADE-IN EFFECT FOR IE4+ AND NS6 ONLY
  10. var center=false;     // CENTERS THE BOX UNER THE MOUSE, OTHERWISE DISPLAYS BOX TO THE RIGHT OF THE MOUSE
  11. var centertext=false; // CENTERS THE TEXT INSIDE THE BOX. YOU CAN'T SIMPLY DO THIS VIA STYLE BECAUSE OF NS4.
  12.                      // OTHERWISE, TEXT IS LEFT-JUSTIFIED. 
  13.  
  14.  
  15. ////////////////////////////// NO NEED TO EDIT BEYOND THIS POINT //////////////////////////////////////
  16.  
  17. var NS4 = (navigator.appName.indexOf("Netscape")>=0 && !document.getElementById)? true : false;
  18. var IE4 = (document.all && !document.getElementById)? true : false;
  19. var IE5 = (document.getElementById && document.all)? true : false;
  20. var NS6 = (document.getElementById && navigator.appName.indexOf("Netscape")>=0 )? true: false;
  21. var W3C = (document.getElementById)? true : false;
  22. var w_y, w_x, navtxt, boxheight, boxwidth;
  23. var ishover=false;
  24. var isloaded=false;
  25. var ieop=0;
  26. var op_id=0;
  27.  
  28. function getwindowdims(){
  29. w_y=(NS4||NS6)? window.innerHeight : (IE5||IE4)? document.body.clientHeight : 0;
  30. w_x=(NS4||NS6)? window.innerWidth : (IE5||IE4)? document.body.clientWidth : 0;
  31. }
  32.  
  33. function getboxwidth(){
  34. if(NS4)boxwidth=(navtxt.document.width)? navtxt.document.width : navtxt.clip.width;
  35. if(IE5||IE4)boxwidth=(navtxt.style.pixelWidth)? navtxt.style.pixelWidth : navtxt.offsetWidth;
  36. if(NS6)boxwidth=(navtxt.style.width)? parseInt(navtxt.style.width) : parseInt(navtxt.offsetWidth);
  37. }
  38.  
  39. function getboxheight(){
  40. if(NS4)boxheight=(navtxt.document.height)? navtxt.document.height : navtxt.clip.height;
  41. if(IE4||IE5)boxheight=(navtxt.style.pixelHeight)? navtxt.style.pixelHeight : navtxt.offsetHeight;
  42. if(NS6)boxheight=parseInt(navtxt.offsetHeight);
  43. }
  44.  
  45. function movenavtxt(x,y){
  46. if(NS4)navtxt.moveTo(x,y);
  47. if(W3C||IE4){
  48. navtxt.style.left=x+'px';
  49. navtxt.style.top=y+'px';
  50. }}
  51.  
  52. function getpagescrolly(){
  53. if(NS4||NS6)return window.pageYOffset;
  54. if(IE5||IE4)return document.body.scrollTop;
  55. }
  56.  
  57. function getpagescrollx(){
  58. if(NS4||NS6)return window.pageXOffset;
  59. if(IE5||IE4)return document.body.scrollLeft;
  60. }
  61.  
  62. function writeindiv(text){
  63. if(NS4){
  64. navtxt.document.open();
  65. navtxt.document.write(text);
  66. navtxt.document.close();
  67. }
  68. if(W3C||IE4)navtxt.innerHTML=text;
  69. }
  70.  
  71. //**** END UTILITY FUNCTIONS ****//
  72.  
  73. function writetxt(text){
  74. if(isloaded){
  75. if(text!=0){
  76. ishover=true;
  77. if(NS4)text='<div class="navtext">'+((centertext)?'<center>':'')+text+((centertext)?'</center>':'')+'</div>';
  78. writeindiv(text);
  79. getboxheight();
  80. if((W3C || IE4) && dofade){
  81. ieop=0;
  82. incropacity();
  83. }}else{
  84. if(NS4)navtxt.visibility="hide";
  85. if(IE4||W3C){
  86. if(dofade)clearTimeout(op_id);
  87. navtxt.style.visibility="hidden";
  88. }
  89. writeindiv('');
  90. ishover=false;
  91. }}}
  92.  
  93. function incropacity(){
  94. if(ieop<=100){
  95. ieop+=7;
  96. if(IE4 || IE5)navtxt.style.filter="alpha(opacity="+ieop+")";
  97. if(NS6)navtxt.style.MozOpacity=ieop/100;
  98. op_id=setTimeout('incropacity()', 50);
  99. }}
  100.  
  101. function moveobj(evt){
  102. if(isloaded && ishover){
  103. margin=(IE4||IE5)? 1 : 23;
  104. if(NS6)if(document.height+27-window.innerHeight<0)margin=15;
  105. if(NS4)if(document.height-window.innerHeight<0)margin=10;
  106. //mx=(NS4||NS6)? evt.pageX : (IE5||IE4)? event.clientX : 0;
  107. //my=(NS4||NS6)? evt.pageY : (IE5||IE4)? event.clientY : 0;
  108. if (NS4){
  109. mx=evt.pageX
  110. my=evt.pageY
  111. }
  112. else if (NS6){
  113. mx=evt.clientX
  114. my=evt.clientY
  115. }
  116. else if (IE5){
  117. mx=event.clientX
  118. my=event.clientY
  119. }
  120. else if (IE4){
  121. mx=0
  122. my=0
  123. }
  124.  
  125. if(NS4){
  126. mx-=getpagescrollx();
  127. my-=getpagescrolly();
  128. }
  129. xoff=(center)? mx-boxwidth/2 : mx+5;
  130. yoff=(my+boxheight+30-getpagescrolly()+margin>=w_y)? -15-boxheight: 30;
  131. movenavtxt( Math.min(w_x-boxwidth-margin , Math.max(2,xoff))+getpagescrollx() , my+yoff+getpagescrolly());
  132. if(NS4)navtxt.visibility="show";
  133. if(W3C||IE4)navtxt.style.visibility="visible";
  134. }}
  135.  
  136. if(NS4)document.captureEvents(Event.MOUSEMOVE);
  137. document.onmousemove=moveobj;
  138. window.onload=function(){
  139.   navtxt=(NS4)? document.layers['navtxt'] : (IE4)? document.all['navtxt'] : (W3C)? document.getElementById('navtxt') : null;
  140.   getboxwidth();
  141.   getboxheight();
  142.   getwindowdims();
  143.   isloaded=true;
  144.   if((W3C || IE4) && centertext)navtxt.style.textAlign="center";
  145.   if(W3C)navtxt.style.padding='4px';
  146.   if(IE4 || IE5 && dofade)navtxt.style.filter="alpha(opacity=0)";
  147.   }
  148. window.onresize=getwindowdims;
  149.  
  150.  
  151.