2013-10-02 5 views
1

Я попытался следующие команды, чтобы определить высоту видового экрана:

var H1 = document.documentElement.clientHeight, 
    H2 = $(window).height(); 

Результат является 8 во всех случаях. Но окно просмотра намного больше (> 500).

Дополнение:

Разница между

 H = $(document).height() 
     H1 = $(window).height() 

с Firefox-Browser (24,0/Debian). H = 600 H1 = 8 С хромом (29,0/Debian) H = 600 H1 = 600

Не знаю почему.

+0

В чем дело? –

+1

что такое '$ win'? А также опубликовать живой пример этого события. –

+0

$ win определяется как $ win = $ (window); Живой пример: http://www.lek2.de/2064/assets/ Пример кода в murbiks-анимации Пб-0.0.1.js Line 650. Проблема только с Firefox (24,0/Debian) – Michael

ответ

0

Есть ли поля и отступы?

Попробуйте H2 = $(window).outerHeight(true)

+0

Это возвращает объект jQuery, как кажется, но не число. – Michael

0

Если есть поля или отступы, вы должны смотреть на $(window).outerHeight().
Дополнительная информация here

+0

Он также возвращает 8. W = $ win.outerWidth (true) возвращает 1647. Правильное значение ... ~: - | – Michael

+0

Проблема только в Firefox (24.0/Debian) – Michael

+0

Я вижу, да, я не заметил. Вы можете попробовать эту функцию javascript: 'window.screen.availWidth' и для height' window.screen.availHeight' Надеюсь, это то, что вы искали. – nkmol

0

Обратите внимание, что .hight() всегда будет возвращать высоту содержимого независимо от значения свойства CSS-размера. Начиная с jQuery 1.8, это может потребовать получить свойство высоты CSS плюс размер окна, а затем вычесть любую потенциальную границу и дополнение для каждого элемента, когда элемент имеет размер коробки: border-box. Чтобы избежать этого штрафа, используйте .css («height»), а не .height().

Смежные вопросы