main.js
上传用户:jhtang88
上传日期:2014-01-27
资源大小:28528k
文件大小:5k
源码类别:

Jsp/Servlet

开发平台:

Java

  1. //Pop-it menu- By Dynamic Drive - Modified by Wbird
  2. //For full source code and more DHTML scripts, visit http://www.dynamicdrive.com
  3. //This credit MUST stay intact for use
  4. var menuOffX=0 //菜单距连接文字最左端距离
  5. var menuOffY=18 //菜单距连接文字顶端距离
  6. var fo_shadows=new Array()
  7. var linkset=new Array()
  8. ////No need to edit beyond here
  9. var ie4=document.all&&navigator.userAgent.indexOf("Opera")==-1
  10. var ns6=document.getElementById&&!document.all
  11. var ns4=document.layers
  12. function openScript(url, width, height){
  13. var Win = window.open(url,"openScript",'width=' + width + ',height=' + height + ',resizable=1,scrollbars=yes,menubar=no,status=no' );
  14. }
  15. function showmenu(e,vmenu,mod){
  16. if (!document.all&&!document.getElementById&&!document.layers)
  17. return
  18. which=vmenu
  19. clearhidemenu()
  20. ie_clearshadow()
  21. menuobj=ie4? document.all.popmenu : ns6? document.getElementById("popmenu") : ns4? document.popmenu : ""
  22. menuobj.thestyle=(ie4||ns6)? menuobj.style : menuobj
  23. if (ie4||ns6)
  24. menuobj.innerHTML=which
  25. else{
  26. menuobj.document.write('<layer name=gui bgColor=#E6E6E6 width=165 onmouseover="clearhidemenu()" onmouseout="hidemenu()">'+which+'</layer>')
  27. menuobj.document.close()
  28. }
  29. menuobj.contentwidth=(ie4||ns6)? menuobj.offsetWidth : menuobj.document.gui.document.width
  30. menuobj.contentheight=(ie4||ns6)? menuobj.offsetHeight : menuobj.document.gui.document.height
  31. eventX=ie4? event.clientX : ns6? e.clientX : e.x
  32. eventY=ie4? event.clientY : ns6? e.clientY : e.y
  33. var rightedge=ie4? document.body.clientWidth-eventX : window.innerWidth-eventX
  34. var bottomedge=ie4? document.body.clientHeight-eventY : window.innerHeight-eventY
  35. if (rightedge<menuobj.contentwidth)
  36. menuobj.thestyle.left=ie4? document.body.scrollLeft+eventX-menuobj.contentwidth+menuOffX : ns6? window.pageXOffset+eventX-menuobj.contentwidth : eventX-menuobj.contentwidth
  37. else
  38. menuobj.thestyle.left=ie4? ie_x(event.srcElement)+menuOffX : ns6? window.pageXOffset+eventX : eventX
  39. if (bottomedge<menuobj.contentheight&&mod!=0)
  40. menuobj.thestyle.top=ie4? document.body.scrollTop+eventY-menuobj.contentheight-event.offsetY+menuOffY-23 : ns6? window.pageYOffset+eventY-menuobj.contentheight-10 : eventY-menuobj.contentheight
  41. else
  42. menuobj.thestyle.top=ie4? ie_y(event.srcElement)+menuOffY : ns6? window.pageYOffset+eventY+10 : eventY
  43. menuobj.thestyle.visibility="visible"
  44. ie_dropshadow(menuobj,"#999999",3)
  45. return false
  46. }
  47. function ie_y(e){  
  48. var t=e.offsetTop;  
  49. while(e=e.offsetParent){  
  50. t+=e.offsetTop;  
  51. }  
  52. return t;  
  53. }  
  54. function ie_x(e){  
  55. var l=e.offsetLeft;  
  56. while(e=e.offsetParent){  
  57. l+=e.offsetLeft;  
  58. }  
  59. return l;  
  60. }  
  61. function ie_dropshadow(el, color, size)
  62. {
  63. var i;
  64. for (i=size; i>0; i--)
  65. {
  66. var rect = document.createElement('div');
  67. var rs = rect.style
  68. rs.position = 'absolute';
  69. rs.left = (el.style.posLeft + i) + 'px';
  70. rs.top = (el.style.posTop + i) + 'px';
  71. rs.width = el.offsetWidth + 'px';
  72. rs.height = el.offsetHeight + 'px';
  73. rs.zIndex = el.style.zIndex - i;
  74. rs.backgroundColor = color;
  75. var opacity = 1 - i / (i + 1);
  76. rs.filter = 'alpha(opacity=' + (100 * opacity) + ')';
  77. //el.insertAdjacentElement('afterEnd', rect);
  78. fo_shadows[fo_shadows.length] = rect;
  79. }
  80. }
  81. function ie_clearshadow()
  82. {
  83. for(var i=0;i<fo_shadows.length;i++)
  84. {
  85. if (fo_shadows[i])
  86. fo_shadows[i].style.display="none"
  87. }
  88. fo_shadows=new Array();
  89. }
  90. function contains_ns6(a, b) {
  91. while (b.parentNode)
  92. if ((b = b.parentNode) == a)
  93. return true;
  94. return false;
  95. }
  96. function hidemenu(){
  97. if (window.menuobj)
  98. menuobj.thestyle.visibility=(ie4||ns6)? "hidden" : "hide"
  99. ie_clearshadow()
  100. }
  101. function dynamichide(e){
  102. if (ie4&&!menuobj.contains(e.toElement))
  103. hidemenu()
  104. else if (ns6&&e.currentTarget!= e.relatedTarget&& !contains_ns6(e.currentTarget, e.relatedTarget))
  105. hidemenu()
  106. }
  107. function delayhidemenu(){
  108. if (ie4||ns6||ns4)
  109. delayhide=setTimeout("hidemenu()",500)
  110. }
  111. function clearhidemenu(){
  112. if (window.delayhide)
  113. clearTimeout(delayhide)
  114. }
  115. function highlightmenu(e,state){
  116. if (document.all)
  117. source_el=event.srcElement
  118. else if (document.getElementById)
  119. source_el=e.target
  120. if (source_el.className=="menuitems"){
  121. source_el.id=(state=="on")? "mouseoverstyle" : ""
  122. }
  123. else{
  124. while(source_el.id!="popmenu"){
  125. source_el=document.getElementById? source_el.parentNode : source_el.parentElement
  126. if (source_el.className=="menuitems"){
  127. source_el.id=(state=="on")? "mouseoverstyle" : ""
  128. }
  129. }
  130. }
  131. }
  132. if (ie4||ns6)
  133. document.onclick=hidemenu