Скрыть полосу прокрутки родителя, когда наложение div видно - PullRequest
1 голос
/ 26 мая 2011

У меня есть страница с AjaxLink, и когда щелкнет ссылка, будет отображен оверлейный элемент с загрузочным изображением, охватывающим родительскую страницу. Я нашел связанный пример здесь . И это прекрасно работает. Я изменяю случай на AjaxLink от AjaxButton. В моем сценарии страница имеет вертикальную полосу прокрутки по умолчанию. Эта полоса прокрутки генерируется, поскольку существует большая таблица с вертикальным расширением. Теперь, когда этот оверлейный элемент 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";
}

Но не поможет. Эта полоса прокрутки остается видимой.

Я не знаю, могу ли я задать этот тип вопросов, относящихся к коду с другого сайта, или нет. Поэтому я извиняюсь перед этим.

Спасибо и всего наилучшего.

1 Ответ

0 голосов
/ 26 мая 2011

Какой браузер вы используете?

Я подозреваю, что это может быть в какой-то версии режима причуд Internet Explorer, попробуйте изменить тип документа, чтобы перейти в "Режим стандартов".

Вы можете попробовать:

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

В т. Е. Вы можете также попробовать применить свойство к document.documentElement, если не можете изменить тип документа

...