jQuery .resize()到特定大小

时间:2011-09-20 08:55:37

标签: jquery resize

是否可以使用.resize();触发某些内容但仅在调整为特定宽度或高度时?或者仅在尺寸增加时?

1 个答案:

答案 0 :(得分:1)

如果您向resize添加处理程序,则可以使用$(this).height()$(this).width()从处理程序内部检查元素的大小。这样,如果数字不满足某些特征,您可以在不做任何事情的情况下返回。

通过记住“最后”值并将它们与处理程序中的当前值进行比较,可以检测尺寸增加,例如:

$(“#id”)。resize(function(){     var height = $(this).height();     var width = $(this).width();

var heightIncreased = height > lastHeight;
var widthIncreased = width > lastWidth;
var heightDecreased = height < lastHeight;
var widthDecreased = width < lastWidth;

if(heightIncreased || widthIncreased) {
    // whatever
}

lastHeight = height;
lastWidth = width;

});

但是,请注意:无法保证在调整元素的过程中调用resize处理程序的次数(即,您可能会连续触发或仅在结束时触发一次),因为这取决于浏览器。