Я не могу получить window.innerHeight на IE7.Как исправить? - PullRequest
1 голос
/ 17 февраля 2012

Я могу получить window.innerHeight на Chrome.

1, как получить это свойство на IE7 через чистый JS?

2, как получить это свойство на IE7 через jQuery?

Спасибо!

1 Ответ

3 голосов
/ 17 февраля 2012
  1. Чисто JS сложно;так что для этого вам понадобится скрипт:

    http://andylangton.co.uk/articles/javascript/get-viewport-size-javascript/

  2. jQuery с другой стороны, просто наберите:

    $(window).height();
    

Ссылка JS Fiddle для живого демо

Примечание: Размер окна размер секции результата в JS Fiddle.

Обновление 1

Я обнаружил скрипт, который находит размер полосы прокрутки из В JQuery Dimensions должен быть метод для возврата размера полосы прокрутки :

jQuery.getScrollBarSize = function() {
   var inner = $('<p></p>').css({
      'width':'100%',
      'height':'100%'
   });
   var outer = $('<div></div>').css({
      'position':'absolute',
      'width':'100px',
      'height':'100px',
      'top':'0',
      'left':'0',
      'visibility':'hidden',
      'overflow':'hidden'
   }).append(inner);

   $(document.body).append(outer);

   var w1 = inner.width(), h1 = inner.height();
   outer.css('overflow','scroll');
   var w2 = inner.width(), h2 = inner.height();
   if (w1 == w2 && outer[0].clientWidth) {
      w2 = outer[0].clientWidth;
   }
   if (h1 == h2 && outer[0].clientHeight) {
      h2 = outer[0].clientHeight;
   }

   outer.detach();

   return [(w1 - w2),(h1 - h2)];
};

Осталась только одна проблема: всегда добавляет ширину и высоту полосы прокрутки к размерам , независимо от того, есть полоса прокрутки или нет.Одним из решений этой проблемы является обнаружение переполнения веб-страницы и размера (вертикального или горизонтального).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...