Java 当覆盖div可见时隐藏父级的滚动条

Java 当覆盖div可见时隐藏父级的滚动条,java,wicket,Java,Wicket,我有一个AjaxLink页面,当链接被点击时,一个覆盖div将可见,并有一个覆盖父页面的加载图像。我找到了一个相关的例子。而且它工作得很好。我将案例从AjaxButton更改为AjaxLink。在我的场景中,页面默认有一个垂直滚动条。此滚动条是在有一个垂直扩展的大表时生成的。现在,当覆盖div可见时,滚动条仍然可见。我想把滚动条藏起来。所以我试着: Mask.show = function(targetId) { var target=document.getElementById(targ

我有一个AjaxLink页面,当链接被点击时,一个覆盖div将可见,并有一个覆盖父页面的加载图像。我找到了一个相关的例子。而且它工作得很好。我将案例从AjaxButton更改为AjaxLink。在我的场景中,页面默认有一个垂直滚动条。此滚动条是在有一个垂直扩展的大表时生成的。现在,当覆盖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";
}
但是没有帮助。滚动条仍然可见

我不知道我是否可以从不同的网站上问这种与代码相关的问题。所以我以前道歉过


谢谢和问候。

您使用的是什么浏览器

我怀疑这可能是某种版本的Internet Explorer怪癖模式的情况,请尝试将doctype更改为“标准模式”

您可以尝试以下方法:

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


在ie中,如果无法更改doctype,也可以尝试将属性应用于document.documentElement

我使用的是Firefox 4,因为ie在Fedora中不可用:)