Twitter bootstrap 引导如何检查图像是否已调整大小

Twitter bootstrap 引导如何检查图像是否已调整大小,twitter-bootstrap,resize,Twitter Bootstrap,Resize,我正在使用带图像的引导行流体。当浏览器窗口更改时,此图像的尺寸也会更改,因此是否有任何事件侦听器在图像调整大小时触发?我想用它来获得图像宽度。我试过这个: $(window).load(function() { $('img.product-thumbnail').resize(function(){ alert($('img.product-thumbnail').width()); }); }); 我的img标签是: <img src="img/pro

我正在使用带图像的引导行流体。当浏览器窗口更改时,此图像的尺寸也会更改,因此是否有任何事件侦听器在图像调整大小时触发?我想用它来获得图像宽度。我试过这个:

$(window).load(function() {
    $('img.product-thumbnail').resize(function(){
        alert($('img.product-thumbnail').width());
    });
});
我的img标签是:

<img src="img/produkt1.png" title="Názov produktu" class="product-thumbnail">
<img src="img/produkt2.png" title="Názov produktu" class="product-thumbnail">


共5张图片。现在我没有收到任何警报,但我知道img改变了它的大小(chrome开发工具>显示维度)。有没有办法完成这项工作?(包含jquery,因此选择器不会有问题)

实现这一点没有任何简单的方法。用于捕获窗口大小调整事件,而不是侦听单个元素

考虑到这一点,为了便于解释,请允许我提出以下建议:

1) 在窗口加载时,抓取图像尺寸并将其粘贴到
数据-
属性中:

$(窗口).load(函数(){
$('img.product缩略图')。每个(函数(){
变量$this=$(this),
//获取图像尺寸
thisWidth=$this.width(),
thisHeight=$this.height();
//将它们推到属性中
$(this.attr('data-width',thisWidth);
$(this.attr('data-height',thishheight);
});
});
2) 将事件绑定到窗口调整大小并选中:

$(窗口)。调整大小(函数(){
//在每个上循环,检查尺寸
$('img.product缩略图')。每个(函数(){
变量$this=$(this),
//获取图像尺寸
thisWidth=$this.width(),
thisHeight=$this.height();
//继续之前,请检查是否存在数据属性
if($this.attr('data-height').length){
if(thisWidth!=$this.attr('data-width')){
//宽度改变了
}
if(thisHeight!=$this.attr('data-height')){
//高度改变了
}
}
}
});

这是一个非常快速、未经测试且未经优化的代码,但其背后的理论是可靠的,应该可以帮助您从一个良好的起点来检测图像是否已更改大小。

AFAIK您将需要一个通用的窗口大小调整处理程序,该处理程序可以确定图像宽度是否已更改(自上次处理程序运行以来,或从原始宽度开始)我曾尝试编写一个事件监听器来侦听窗口大小的更改,它工作正常,但它使用了大量的计算机速度,因为每次我更改窗口大小(每1像素)时都会发生事件。所以,如果我将其更改为50px,事件将触发50次,我希望避免这种情况。但是,如果不可能,我必须尝试其他方法。正如我所提到的:它没有以任何方式进行优化。您是对的,它将每次触发。我从您的问题中假设这也是您期望的
image.resize
要做的事情?您可以选择通过将其绑定到CSS断点(例如使用)中,可以非常轻松地实现这一点,然后仅在知道已通过断点时检查图像尺寸。这仍然无法避免您正在侦听并对每个
$(窗口)执行操作的事实。调整事件大小。