是否可以使用.resize();
触发某些内容但仅在调整为特定宽度或高度时?或者仅在尺寸增加时?
答案 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处理程序的次数(即,您可能会连续触发或仅在结束时触发一次),因为这取决于浏览器。