2016-07-02 4 views
2

Я работаю над фото карусели. Цель состоит в том, чтобы отображать x изображений в одной строке, где x зависит от размера видового экрана. В окне просмотра я подразумеваю, что в окне браузера меньше полос прокрутки. Фотографии изменяются до ширины 200. Если ширина окна просмотра составляет 2000, я могу получить 10 фотографий (200 * 10 = 2000) (я просто сохранил арифметику)Поиск размера экрана с использованием JS на мониторе 4k

Мое разрешение экрана - 3840x2160. Я расширил браузер, чтобы охватить весь экран. Когда я использую: $ (window) .width(), я придумал 1707 и с screen.width. Я придумал 1707. Определенно не 3840.

Когда я изменяю размер браузера так, чтобы он занимал примерно половину экрана Я получаю: $ (окно) .width() из 929 и с screen.width 1706.

Для браузеров я использую Edge, IE11, FF и Chrome 46, и я получаю примерно такую ​​же проблему.

Мой настольный монитор также 4k, и из того, что я прочитал, он состоит из двух панелей 1920x1080 для всего 3840x2160. Если это правда, на моем мониторе ноутбука 4k я должен получить ширину 1920, используя screen.width, если я возьму весь экран, но я не уверен.

Мне нужно учитывать, что большинство людей, просматривающих этот сайт, не имеют 4k-мониторов.

Любые идеи о том, как я могу получить ширину экрана на мониторе 4k?

ответ

1

Чтобы получить размеры окон:

var width = window.innerWidth; 
var height = window.innerHeight; 

Чтобы получить размеры экрана:

var width = screen.width; 
var height = screen.height; 
+0

№ Как я упоминал в своем посте, screen.width дает мне 1707. С окном браузера maxed с использованием window.innerWidth, я тоже получаю 1707. Оба - 1707. Я предполагаю, что размеры находятся в пикселях. Это 4K или UHD-ноутбук. – eric

+0

Это очень странно ... Я буду искать происхождение проблемы. – ClementNerma

0

Javascript должен сообщить мне для моего 4K монитора разрешение экрана 3840 х 2160. На самом деле, я получаю:

  • Screen.Width = 2560
  • screen.height = 1440
  • document.querySelector ('HTML') clientWidth = 2526
  • window.innerWidth = 2526
  • .
  • window.outerWidth = 2575
  • document.querySelector ('HTML'). clientHeight = 1301
  • window.innerHeight = 1301
  • Windo w.outerHeight = 1415
  • screen.availWidth = 2560
  • screen.availHeight = 1400

40 пикселей является для Windows 10 панель задач в нижней части рабочего стола.