日期:2014-05-17  浏览次数:20440 次

js弹出窗体滚动条消失
修改公司原来的项目 有一个问题就是 js弹出窗体后 滚动条消失,
弹出窗体用的是FineMessBox  

用到两个js文件 稍后在 回复中给出

看样式 像是仿的extjs的窗体

在网上找了一个解决方案 但是 本人js太菜  
不知道往哪加 

http://extjs.org.cn/node/246 这是解决方案的地址 


希望高手 帮帮忙 谢谢!!!!!


------解决方案--------------------
打不开....
------解决方案--------------------
这种JS代码能改死人啊!悲剧。.


Ext.onReady(function(){
var win = new Ext.Window({
layout:'fit',
width:480,
height:360,
resizable:true,
closeAction:'close',
plain: true,
maximizable: true,
listeners: {
close:function(w){
w.restore();
},
maximize:function(w){
w.setPosition(document.body.scrollLeft,document.body.scrollTop);
}
}
});
win.show();
});
}

核心代码
------解决方案--------------------
不同的浏览器下面offsetWidth和scrollTop之类的含义是有差异的
有的甚至不支持scrollTop(属性名字不一样)
if (gPopupIsShown == true) {
if (width == null || isNaN(width)) {
width = gPopupContainer.offsetWidth;
}
if (height == null) {
height 

xhtml不支持document.body.scrollTop - 树仔- 博客园
------解决方案--------------------
我的个乖乖,LZ代码也忒多了点吧,LZ你还是换种方式去弹窗了,别搞的这么的麻烦
------解决方案--------------------
JScript code
    
  //在Window中添加两个listeners就可以了  
  Ext.onReady(function(){        
        var win = new Ext.Window({                                            
            layout:'fit',                   
            width:480,                   
            height:360,                  
            resizable:true,                   
            closeAction:'close',                   
            plain: true,         
            maximizable: true,    
            listeners: {        
                close:function(w){          
                //关键部分:关闭窗口前先还原,滚动条才不会消失 
                w.restore();             
            },                    
            maximize:function(w){          
            //关键部分:最大化后需要将窗口重新定位,否则窗口会从最顶端开始最大化  
                w.setPosition(document.body.scrollLeft,document.body.scrollTop); 
            }                  
        }                
    });           
    win.show();
});