divcover.js
上传用户:wenllgg125
上传日期:2020-04-09
资源大小:7277k
文件大小:2k
源码类别:

SCSI/ASPI

开发平台:

Others

  1. 
  2. //隐藏指定元素位置下方的"下拉列表框",该函数主题解决ie6以前(包括ie6)的下拉列表框遮挡显示层的问题
  3. function HideOverSels(objID)
  4. {
  5.     var sels = document.getElementsByTagName('select'); 
  6.   
  7.     for (var i = 0; i < sels.length; i++) 
  8.     {
  9.          if (Obj1OverObj2(document.getElementById(objID), sels[i]))
  10.          {
  11.             
  12.             sels[i].style.visibility = 'hidden';  
  13.          }
  14.          else
  15.          {
  16.             sels[i].style.visibility = 'visible';
  17.          }
  18.     }
  19. }
  20. function getLeftPosition(Obj) 
  21. {
  22.     try
  23.     {
  24.         for (var sumLeft=0;Obj!=document.body;sumLeft+=Obj.offsetLeft,Obj=Obj.offsetParent);
  25.         return sumLeft;
  26.     }
  27.     catch(e)
  28.     {}
  29. }
  30. function getTopPosition(Obj) 
  31. {
  32.     try
  33.     {
  34.         for (var sumTop=0;Obj!=document.body;sumTop+=Obj.offsetTop,Obj=Obj.offsetParent);
  35.         return sumTop;
  36.     }
  37.     catch(e)
  38.     {}
  39. }
  40. //判断obj1是否遮挡了obj2
  41. function Obj1OverObj2(obj1, obj2)
  42.   var result = true; 
  43.   
  44.   var obj1Left = getLeftPosition(obj1) - document.body.scrollLeft; 
  45.   var obj1Top = getTopPosition(obj1)  - document.body.scrollTop; 
  46.   var obj1Right = obj1Left + obj1.offsetWidth; 
  47.   var obj1Bottom = obj1Top + obj1.offsetHeight;
  48.   var obj2Left = getLeftPosition(obj2) - document.body.scrollLeft; 
  49.   var obj2Top = getTopPosition(obj2) - document.body.scrollTop; 
  50.   var obj2Right = obj2Left + obj2.offsetWidth; 
  51.   var obj2Bottom = obj2Top + obj2.offsetHeight;
  52.  
  53.   if (obj1Right <= obj2Left || obj1Bottom <= obj2Top || obj1Left >= obj2Right || obj1Top >= obj2Bottom) 
  54.   {
  55.      result = false; 
  56.   }
  57.     
  58.   return result; 
  59. }