如何獲取瀏覽器窗口高度,以便找到中心位置?獲取當前瀏覽器窗口中心
我只需要窗口高度,而不是網頁高度。
我試過$(window).height()/2
,但它只適用於瀏覽器從頁面頂部開始對焦的情況。如果我向下滾動,我會得到錯誤的中心。
如何獲取瀏覽器窗口高度,以便找到中心位置?獲取當前瀏覽器窗口中心
我只需要窗口高度,而不是網頁高度。
我試過$(window).height()/2
,但它只適用於瀏覽器從頁面頂部開始對焦的情況。如果我向下滾動,我會得到錯誤的中心。
爲了得到當前可視區域的中心的y值,使用:
$(window).scrollTop() + $(window).height()/2
我試了一下這個網頁上,通過開放的網絡督察,並進入:
$('<p>').text('test').appendTo('body').css({position: 'absolute', top: $(window).scrollTop() + $(window).height()/2});
我認爲身體的高度需要在括號內才能正常工作:
var center = $("body").scrollTop() + ($("body").height()/2);
但是,如果你正在做一個彈出對話框,最好是檢測用戶是否不在移動設備上,然後使用CSS「position:fixed」。你發現用於移動設備,因爲移動Safari瀏覽器不理解在固定的IOS版本定位之前5.使用這個代碼檢測:
var isMobile = navigator.appVersion.indexOf("Mobile/") != -1;
廣告@米
不,高度計算不需要在括號內。在JavaScript中,乘法的優先級高於加法。 https://developer.mozilla.org/en/JavaScript/Reference/operators/operator_precedence#Table關於'position:fixed'的好處。 –
我不認爲body height部分需要放在括號中 - Javascript的運算符優先級會執行'.',然後是'/'然後是'+' - 所以'$(「body」)。scrollTop()+ $(「body」)。height()/ 2;'與'($(「body」)。scrollTop())+(($(「body」)。height())/ 2))''' –
嘗試window.outerHeight
和window.outerWidth
,這在FF5工作(可能還有更早的版本)和Chrome,但不在IE9中。從谷歌搜索似乎這一點的信息是不容易在IE瀏覽器。
就是這樣:Dhanhan – BiberFiver