2016-01-21 64 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>