你弄个半透明的DIV把下面页面全遮盖住不就可以了?

解决方案 »

  1.   

    以前网上搜的,忘了地址了:
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml"><head>
    <style type="text/css">#id1{width:100%;height:100%;background-color:#000;position:absolute;top:0;left:0;z-index:49;display:none;}
    #id2{top:200px;position:absolute;z-index:50;display:none;border:3px solid #E5E5E5; left:100px;background-color:white;}
    </style>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>asfsdfasdfasdf</title>
    <script language="javascript" type="text/javascript">
    function show(){
    id1.style.height=window.screen.height+"px";
    id1.style.width=window.screen.width+"px";
    id1.style.display='block';
    id2.style.display='block'
    }
    function hide(){
    id1.style.display='none'
    id2.style.display='none'
    }
    self.onError=null;                              
    currentX = currentY = 0;                               
    whichIt = null;                                         
    lastScrollX = 0; lastScrollY = 0;                              
    NS = (document.layers) ? 1 : 0;                             
    IE = (document.all) ? 1: 0;                              
    <!-- STALKER CODE -->                              
    function heartBeat() {                              
    if(IE) { diffY = document.body.scrollTop; diffX = document.body.scrollLeft; }                             if(NS) { diffY = self.pageYOffset; diffX = self.pageXOffset; }           
    if(diffY != lastScrollY) {            
    percent = .1 * (diffY - lastScrollY);    
    if(percent > 0) percent = Math.ceil(percent); 
    else percent = Math.floor(percent);  
    if(IE) document.all.id2.style.pixelTop += percent;  
    if(NS) document.id2.top += percent;                 
    lastScrollY = lastScrollY + percent;      
    }                       
    if(diffX != lastScrollX) {       
    percent = .1 * (diffX - lastScrollX);     
    if(percent > 0) percent = Math.ceil(percent);       
    else percent = Math.floor(percent);                   
    if(IE) document.all.id2.style.pixelLeft += percent;        
    if(NS) document.id2.left += percent;       
    lastScrollX = lastScrollX + percent;                     
    }                           
    }                         
    <!-- /STALKER CODE -->              
    <!-- DRAG DROP CODE -->              
    function checkFocus(x,y) {         
    stalkerx = document.id2.pageX;     
    stalkery = document.id2.pageY;                        
    stalkerwidth = document.id2.clip.width;              
    stalkerheight = document.id2.clip.height;                         
    if( (x > stalkerx && x < (stalkerx+stalkerwidth)) && (y > stalkery && y < (stalkery+stalkerheight))) return true;                      
    else return false;        
    }                     
    function grabIt(e) {            
    if(IE) {                            
    whichIt = event.srcElement; 
    while (whichIt.id.indexOf("id2") == -1) {    
    whichIt = whichIt.parentElement;                           
    if (whichIt == null) { return true; }         
     }                            
    whichIt.style.pixelLeft = whichIt.offsetLeft;                              
    whichIt.style.pixelTop = whichIt.offsetTop;                          
    currentX = (event.clientX + document.body.scrollLeft);                       
    currentY = (event.clientY + document.body.scrollTop);                        
    } else {                             
    window.captureEvents(Event.MOUSEMOVE);    
    if(checkFocus (e.pageX,e.pageY)) {                            
    whichIt = document.id2;                              
    stalkerTouchedX = e.pageX-document.id2.pageX;      
    StalkerTouchedY = e.pageY-document.id2.pageY;          
    }                              
    }                            
    return true;                        
    }                            
    function moveIt(e) {               
    if (whichIt == null) { return false; }       
    if(IE) {                             
    newX = (event.clientX + document.body.scrollLeft);                           
    newY = (event.clientY + document.body.scrollTop);                
    distanceX = (newX - currentX);    distanceY = (newY - currentY);   
    currentX = newX;    currentY = newY;                       
    whichIt.style.pixelLeft += distanceX;                          
    whichIt.style.pixelTop += distanceY;                      
    if(whichIt.style.pixelTop < document.body.scrollTop) whichIt.style.pixelTop = document.body.scrollTop;    if(whichIt.style.pixelLeft < document.body.scrollLeft) whichIt.style.pixelLeft = document.body.scrollLeft; if(whichIt.style.pixelLeft > document.body.offsetWidth - document.body.scrollLeft - whichIt.style.pixelWidth - 20) whichIt.style.pixelLeft = document.body.offsetWidth - whichIt.style.pixelWidth - 20;
    if(whichIt.style.pixelTop > document.body.offsetHeight + document.body.scrollTop - whichIt.style.pixelHeight - 5) whichIt.style.pixelTop = document.body.offsetHeight + document.body.scrollTop - whichIt.style.pixelHeight - 5;  
    event.returnValue = false;  
    } else {   
    whichIt.moveTo(e.pageX-StalkerTouchedX,e.pageY-StalkerTouchedY); 
    if(whichIt.left < 0+self.pageXOffset) whichIt.left = 0+self.pageXOffset; 
    if(whichIt.top < 0+self.pageYOffset) whichIt.top = 0+self.pageYOffset;  
    if( (whichIt.left + whichIt.clip.width) >= (window.innerWidth+self.pageXOffset-17)) whichIt.left = ((window.innerWidth+self.pageXOffset)-whichIt.clip.width)-17; 
    if( (whichIt.top + whichIt.clip.height) >= (window.innerHeight+self.pageYOffset-17)) whichIt.top = ((window.innerHeight+self.pageYOffset)-whichIt.clip.height)-17; 
    return false;} 
    return false;  
    }   
    function dropIt() {     
    whichIt = null;     
    if(NS) window.releaseEvents (Event.MOUSEMOVE);  
    return true;             
     }                     
    <!-- DRAG DROP CODE -->  
    if(NS) {    
    window.captureEvents(Event.MOUSEUP|Event.MOUSEDOWN);
    window.onmousedown = grabIt;
    window.onmousemove = moveIt; 
    window.onmouseup = dropIt; 
    }              
    if(IE) {                     
    document.onmousedown = grabIt;    
    document.onmousemove = moveIt;   
    document.onmouseup = dropIt;          
     }                         
    if(NS || IE) action = window.setInterval("heartBeat()",1)</script> 
    </head><body>
    <p>&nbsp;</p>
    <div id="id2">
    这里可以放内容,或者添加div用innerhtml进行添加内容就可以了
    <br/><input name="Button1" type="button" value="button" onclick="hide()"/>
    </div>
    <div id="id1"> 123</div>

    <form method="post">
    <input name="Button2" type="button" value="button" onclick="show()"/></form>
    <p>&nbsp;</p>
    <p>&nbsp;</p>
    <p>&nbsp;</p>
    <p>&nbsp;</p>
    <p>&nbsp;</p>
    <p>&nbsp;</p>
    <p>&nbsp;</p>
    <p>&nbsp;</p>
    <p>&nbsp;</p>
    <p>&nbsp;</p>
    <p>&nbsp;</p>
    <p>&nbsp;</p>
    <p>&nbsp;</p>
    <p>&nbsp;</p>
    <p>&nbsp;</p>
    <p>&nbsp;</p>
    <p>&nbsp;</p>
    <p>&nbsp;</p>
    <p>&nbsp;</p>
    <p>&nbsp;</p>
    <p>&nbsp;</p>
    <p>&nbsp;</p>
    <p>&nbsp;</p>
    <p>&nbsp;</p>
    <p>&nbsp;</p>
    <p>&nbsp;</p>
    <p>&nbsp;</p>
    <p>&nbsp;</p>
    </body></html>
      

  2.   

    哦,找到了,是IE7之前select 比 div级别高的原因,谢谢。http://www.javanb.com/javascript/1/15693.html
    JS版常见问题(一)层遇到select框时
      

  3.   

    原来是SELECT的问题呀,我这里有个例子:<script language="javascript">// 隐藏被ID为objID的对象(层)遮挡的所有select
    function HideOverSels(objID)
    {
        var sels = document.getElementsByTagName('select'); 
        for (var i = 0; i < sels.length; i++) 
          if (Obj1OverObj2(document.all[objID], sels[i]))
            sels[i].style.visibility = 'hidden';          
    }//判断obj1是否遮挡了obj2
    function Obj1OverObj2(obj1, obj2)
    {
      var pos1 = getPosition(obj1) 
      var pos2 = getPosition(obj2) 
      var result = true; 
      var obj1Left = pos1.left - window.document.body.scrollLeft; 
      var obj1Top = pos1.top - window.document.body.scrollTop; 
      var obj1Right = obj1Left + obj1.offsetWidth; 
      var obj1Bottom = obj1Top + obj1.offsetHeight;
      var obj2Left = pos2.left - window.document.body.scrollLeft; 
      var obj2Top = pos2.top - window.document.body.scrollTop; 
      var obj2Right = obj2Left + obj2.offsetWidth; 
      var obj2Bottom = obj2Top + obj2.offsetHeight;
      
      if (obj1Right <= obj2Left || obj1Bottom <= obj2Top || 
          obj1Left >= obj2Right || obj1Top >= obj2Bottom) 
        result = false; 
      return result; 
    }// 获取对象的坐标
    function getPosition(Obj) 
    {
    for (var sumTop=0,sumLeft=0;Obj!=window.document.body;sumTop+=Obj.offsetTop,sumLeft+=Obj.offsetLeft, Obj=Obj.offsetParent);
    return {left:sumLeft,top:sumTop}
    }
    </script><script>
        window.onload = function(){HideOverSels("div1")}
    </script><div style="position: absolute;left:10px;top:20px;width:200px;height:200px;border:1px solid red;" id="div1">
    看看这个层下面的select是不是都隐藏了:)
    </div>
    <select name="">
    <option>test1</option>
    <option>test2</option>
    <option>test3</option>
    </select>
    <P />
    <select name="">
    <option>test1</option>
    <option>test2</option>
    <option>test3</option>
    </select>
    <P />
    <select name="">
    <option>test1</option>
    <option>test2</option>
    <option>test3</option>
    </select>
    <P />
    <select name="">
    <option>test1</option>
    <option>test2</option>
    <option>test3</option>
    </select>
    <P />
    <select name="">
    <option>test1</option>
    <option>test2</option>
    <option>test3</option>
    </select>
    <P />
    <select name="">
    <option>test1</option>
    <option>test2</option>
    <option>test3</option>
    </select>
    <P />
    <select name="">
    <option>test1</option>
    <option>test2</option>
    <option>test3</option>
    </select>
    <P />
    <select name="">
    <option>test1</option>
    <option>test2</option>
    <option>test3</option>
    </select>
    <P />
    <select name="">
    <option>test1</option>
    <option>test2</option>
    <option>test3</option>
    </select>
    <P />
      

  4.   

    http://mailfriends.mail.163.com/mailfriends/invite.do