2011-05-26 107 views
1

我有一个带有AjaxLink的页面,并且当单击该链接时,将覆盖父页面的加载图像显示覆盖div。我找到一个相关的例子here。它完美的工作。我将案例从AjaxButton更改为AjaxLink。在我的情况下,该页面默认具有垂直滚动条。这个滚动条是由于有一个垂直扩展的大桌子而生成的。现在,当覆盖div可见时,滚动条仍然可见。我想隐藏该滚动条。所以我尝试过:当覆盖div可见时隐藏父窗口的滚动条

Mask.show = function(targetId) 
{ 
    var target=document.getElementById(targetId); 
    var mask=document.createElement("div"); 
    mask.innerHTML=" "; 
    mask.className="wicket-mask"; 
    mask.style.cursor="not-allowed"; 
    mask.style.zIndex="5000"; 
    mask.id="wicket_mask_"+targetId; 
    document.body.appendChild(mask); 
    Mask.offsetMask(mask); 

    var spinner=document.createElement("div"); 
    spinner.innerHTML=" "; 
    spinner.className="wicket-spinner"; 
    spinner.style.cursor="not-allowed"; 
    spinner.style.zIndex="6000"; 
    spinner.id="wicket_spinner_"+targetId; 
    document.body.appendChild(spinner); 
    Mask.centerSpinner(spinner); 

    // I have added this 
    document.body.style.overflow="hidden"; 
} 

/** 
Hides the mask and spinner 
*/ 
Mask.hide = function(targetId) 
{ 
    var mask=document.getElementById("wicket_mask_"+targetId); 
    if (mask!=null) { 
    mask.style.display="none"; 
    document.body.removeChild(mask); 
    } 
    var spinner=document.getElementById("wicket_spinner_"+targetId); 
    if (spinner!=null) { 
    spinner.style.display="none"; 
    document.body.removeChild(spinner); 
    } 

    // I have added this 
    document.body.style.overflow="auto"; 
} 

但没有帮助。该滚动条保持可见。

我不知道我是否可以问这种类型的问题与不同网站的代码有关。所以我很抱歉。

感谢和问候。

回答

0

您使用什么浏览器?

我怀疑这可能是某种版本的Internet Explorer Quirks模式的情况,请尝试更改文档类型以进入“标准模式”。

你可以尝试使用:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 

在IE中,你也可以尝试应用属性document.documentElement中,如果你不能改变的doctype

+0

我使用的是Firefox 4的IE不在可用Fedora :) – 2011-05-27 03:05:50