调整所有图像的大小,同时保持每个图像的纵横比

时间:2013-08-13 21:08:55

标签: javascript jquery

我对这些东西相当新,我遇到了一个小问题 - 我要做的是调整网页上的所有图像(更具体地说,每个元素中的图像都带有id# post)并将它们缩小一点

var currentWidth = $("#post img").width();
$("#post img").each(function () {
    $(this).css({'width': currentWidth / 1.5 + "px"});
});

问题在于我认为它抓住了第一张图像的宽度并将其用于所有图像,因此它们最终都与第一张缩小图像的尺寸相同。有什么方法可以解决这个问题,以便每个图像的宽度都被抓住并正确缩小?

1 个答案:

答案 0 :(得分:2)

你是对的 - 你得到一个宽度并在整个循环中使用它。你已经在那里,在循环中使用this。只需遵循:

$("#post img").each(function () {
    var currentWidth = $(this).width();

    if (currentWidth > 900) {
      $(this).css({'width': currentWidth / 1.5 + "px"});
    }
});