2016-07-02 60 views
2

我正在處理照片傳送帶。目的是在一行中顯示x圖片,其中x取決於視口大小。通過視口我的意思是瀏覽器窗口內的區域較少滾動條。照片重新調整到200的寬度如果視口寬度是2000我可以得到10張照片(200 * 10 = 2000)(我保持算術容易)在4k顯示器上使用JS查找屏幕的大小

我的屏幕分辨率是3840x2160。我擴大了瀏覽器佔據了整個屏幕。當我使用:$(window).width()我想出了1707和screen.width我想出了1707.絕對不是3840.

當我調整瀏覽器的大小,使其佔用了大約一半的屏幕我得到: $(window).width()929 and with screen.width 1706.

對於瀏覽器,我使用的是Edge,IE11,FF和Chrome 46,我也遇到了大致相同的問題。

我的桌面顯示器也是4K,從我讀過的內容來看,它包含1920x1080的兩塊面板,共計3840x2160。如果那是真的,在我的筆記本電腦4k顯示器上,如果我佔用整個屏幕但我不是,我應該使用screen.width獲得1920的寬度。

我需要考慮到,大多數人瀏覽本網站將不會有4k顯示器。

關於如何在4k顯示器上獲取屏幕寬度的任何想法?

回答

1

獲得Windows'尺寸:

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

要得到屏幕的尺寸:

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

不可以。正如我在我的文章中提到的,screen.width給了我1707.使用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個像素是在桌面的底部的視窗10任務欄。