2011-05-26 129 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