javascript - 我怎么能用 jQuery 说 "if width > height"然后 "do this"?

标签 javascript jquery if-statement

我有一些元素。页面上的数量不断变化,请记住这一点。

该元素称为 .portalimg。我需要说明一下,如果 width > height,请将其 width 设置为 125px。如果 height > width,请将 height 设置为 125px。

这是我所拥有的:

$('.portalimg').each(function() {
  var pimgw = $(this).width();
    var pimgh = $(this).height();
    if (pimgw > pimgh) {
        $(this).css('width','125px')
    } else {
        $(this).css('height','125px')
    }
});

编辑:它提醒成功但不应用 widthheight。 我哪里出错了?

编辑 2:从下面使用最干净的代码更新了代码。这仍然只限制了 height 属性,即使图像比宽高。看一看:

http://jacksongariety.com/gundoglabs/

编辑 3:问题是它们都返回 0。如果我有一个警报说 pimgw 或 pimgh 的值,它总是 0。

编辑 4:最终获得了最好的、最干净的缓存代码,它总是会正确加载,即使它从缓存中绘制图像也是如此:

$(function(){
    $('.portalimg').ready(function(){
        $('.portalimg').fadeTo(0,1).each(function(index) {
            var a = $(this);
            if (img.width() > a.height()) {
                a.css('width','135px')
            } else {
                a.css('height','125px')
            }
        });
    });
});

最佳答案

如果类 portalimg 有多个元素,您可以简单地使用 .each 迭代器:http://api.jquery.com/each/

$(function() {
    $('.portalimg').each(function(index) {
        var img = $(this);
        if (img.width() > img.height()) {
            img.css('width','125px')
        } else {
            img.css('height','125px')
        }
    });
}

关于javascript - 我怎么能用 jQuery 说 "if width > height"然后 "do this"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9578414/

相关文章:

java - 我在使用 "else if"语句时遇到错误。

php - 使用 jQuery ajax 从表单发送数据并显示在另一个 div 中收到的数据

C while循环仅在语句为真时运行?

javascript - JavaScript 中的比较运算符

javascript - 测量单击iFrame顶部的不可见DIV?

jquery - 动画元素从一个列表移动到另一个

javascript - 在 .load() 上获取图像宽度不适用于除 Firefox 之外的所有浏览器

java - 如何明智地对特定字段的数据进行分组?

javascript - 何时使用 Vanilla JavaScript 与 jQuery?

javascript - 我如何将以下内容放入 for 循环中