2016-01-21 100 views
2

我有一些jQuery代碼動態檢查屏幕的大小,它是這樣的......如何檢查初始屏幕尺寸

$(window).resize(function() { 
    windowsize2 = $(window).height(); 
    windowW = $(window).width(); 
    if (windowsize2 < 400) { 
    ... 
    ... 

代碼的目的是調整特定div時屏幕做得更小。這是有效的,但只有當屏幕大於400,然後縮小到低於400

但是,可以說用戶打開我的網站的屏幕尺寸爲< 400,在這種情況下,上面的代碼不會讀取屏幕尺寸,因此不會調整div的大小。只有當用戶調整屏幕大小時纔會這樣做。

如何使用jQuery確保div的大小,如果用戶打開我的網站的屏幕高度爲< 400

回答

1

如何使用jQuery確保div的大小,如果用戶打開我的網站的屏幕高度爲< 400?

你可以重構你的代碼的方法,並呼籲雙方調整大小這種方法,一旦頁面加載。

重構代碼到類似:

function resizeDiv() { 
    windowsize2 = $(window).height(); 
    windowW = $(window).width(); 
    if (windowsize2 < 400) { 
    ... 
    ... 
} 

然後,根據您的使用情況下,有兩種選擇調用方法時的頁面加載:

您可以使用document.ready

$(document).ready(function() { 
    resizeDiv(); 
}); 

代碼包含內部$(document).ready()將只運行一次的DOM準備JA要執行的vaScript代碼。

2.可以使用window.load

代碼包含內部$(window).load()一次將整個頁面(圖片或iFrame)上運行,而不僅僅是DOM,已準備就緒。

$(window).load(function() { 
    resizeDiv(); 
}); 

通常,不需要等待所有圖像完全加載。如果代碼可以更早執行,通常最好將它放在發送到ready()方法的處理程序中。

1

你可以使用.on()所以你的功能在兩個窗口負荷運行,以附加一個事件處理和調整,從而確保它在這兩種情況下:

$(window).on('load resize', function() { 
 
    windowsize2 = $(window).height(); 
 
    windowW = $(window).width(); 
 
    if (windowsize2 < 400) { 
 
     alert(1); // or whatever 
 
    } 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>