我使用jQuery的函数.resize()调整窗口大小有点问题。我想知道哪个尺寸越来越大 - 宽度或高度。我需要这个,因为如果我只提出两个条件 - 如果宽度比div大50px并且如果高度比div大50px,
// (pseudocode)
if width = div.width + 50px
width = something
if height = div.height + 50px
height = something
然后正在处理一个条件,我只能调整宽度或高度。
我怎么知道哪个尺寸正在变化,或两者都是?
答案 0 :(得分:19)
将最后一个窗口大小值保存在变量中。
var h = $(window).height(), w = $(window).width();
$(window).resize(function(){
var nh = $(window).height(), nw = $(window).width();
// compare the corresponding variables.
h = nh; w = nw; // update h and w;
});
答案 1 :(得分:3)
保存以前的尺寸,并在每次尺寸变化时与之进行比较。
例如:
var prevW = -1, prevH = -1;
$(document).ready(function() {
// ... other stuff you might have inside .ready()
prevW = $(window).width();
prevH = $(window).height();
});
$(window).resize(function() {
var widthChanged = false, heightChanged = false;
if($(window).width() != prevW) {
widthChanged = true;
}
if($(window).height() != prevH) {
heightChanged = true;
}
// your stuff
prevW = $(window).width();
prevH = $(window).height();
});