让服务器端的Panel 在客户端动态地显示在某个控件的下面

 现在服务器端定义了一个Panel, 要让它动态地显示在某一个控件的下面, 且不被DropDown等控件挡住(如同Atlas的PopupPanel效果), 查阅了资料并进行改进, js方法如下:

function GetPopupPos(el,ePro)    /// 动态定义位置
{
 var ePos=0;
 while(el!=null)
 {  
  ePos+=el["offset"+ePro];
  el=el.offsetParent;
 }
 return ePos;
}

function PopupDivArea(TargetControlName, DivName ,state) //利用iframe遮挡,显示控件  
{
    var   TgtRef   =   document.getElementById(TargetControlName);
    var   DivRef   =   document.getElementById(DivName);
    var   IfrRef   =   document.getElementById("LHBIS_PopupDivIfram");   
   
    if (IfrRef == null)
    {          
        var   IfrRef   =   document.createElement("IFRAME");
      
        IfrRef.src="javascript:false;" ;
        IfrRef.id = "LHBIS_PopupDivIfram"
        IfrRef.scrolling="no" ;
        IfrRef.frameborder="0" ;
        IfrRef.style.position='absolute';
        IfrRef.style.filter = "progid:DXImageTransform.Microsoft.Alpha(style=0,opacity=0)";
       
        document.body.appendChild(IfrRef);
     }
       
     if(state)  
     {
//          DivRef.style.left = 0;
//          DivRef.style.top  = 0;     
          DivRef.style.pixelLeft = GetPopupPos(TgtRef,"Left");
          DivRef.style.pixelTop = GetPopupPos(TgtRef,"Top") + TgtRef.offsetHeight; 
          DivRef.style.display   =   "block";  
          DivRef.style.position  =   'absolute';
          DivRef.style.zIndex = 1000;
          IfrRef.style.width   =   DivRef.offsetWidth;  
          IfrRef.style.height   =   DivRef.offsetHeight;  
          IfrRef.style.top   =   DivRef.style.top;  
          IfrRef.style.left   =   DivRef.style.left;  
          IfrRef.style.zIndex   =   DivRef.style.zIndex   -   1;  
          IfrRef.style.display   =   "block";  
     }  
     else  
     {  
          DivRef.style.display   =   "none";  
          IfrRef.style.display   =   "none";  
     }
}

___________________________________________________________

客户端调用方法如下:

PopupDivArea('TextBox1','Panel1',true); //显示

PopupDivArea('Button1','Panel1',false);//隐藏

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值