jquery if 语句帮助

标签 jquery if-statement

我正在尝试缩放宽度大于 100 的图像。我使用下面的代码,但它缩放的图像甚至低于 100px...我做错了什么?

if($(".image-attach-body")) {
    if($(".image-attach-body a")) {
    $(".image-attach-body a").each(function() {
                var width = $("span span img").width();

                if(width > 100) {
                    $("span span img").cjObjectScaler({
                            destObj: $(".image-attach-body"),
                                method: "fit",
                });
                }
    }); 
    }
}

最佳答案

如果您的所有图像都在 100 以下,您的代码就可以工作。这是有问题的代码行...

$("span span img").cjObjectScaler

这个选择器位于每个循环内部。因此,如果只有一张图像大于 100,则您可以对所有图像调用此函数。函数调用适用于与选择器匹配的每个元素(这就是 jQuery 的工作原理)。

我不知道您的标记是什么样的,所以我无法告诉您将代码更改为什么。在每个循环中,您可能需要在选择器中的某个位置使用 this ,以便它更具体且与给定上下文相关。

我想它需要更改为这个......

$("span span img", this).cjObjectScaler

编辑:您还需要更改代码行来获取图像的宽度,因为这始终只返回它找到的第一个图像的宽度。我建议将其存储在本地变量中,这样您以后应用“缩放器”时就不必重新查询它

关于jquery if 语句帮助,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2225261/

相关文章:

jquery - 具有滚动内部内容的可停靠 DIV

php - 如何在表单 POST 方法中传递 jquery datepicker 值?

java - if 语句的低效使用 - Android

java - Android:子字符串和 IF

jquery - 包含 bool 值的 html5 数据属性

javascript - 复选框 检查 javascript 中的 yes 命令

jquery - 使用 jQuery Transit 以不同的速度转换多个 CSS 属性

java - 无法从其他方法和 if 语句添加 gui 元素

javascript - 使用 if else 声明 `let` 或 `const` 在 if/else 之后使用?

java - boolean 值没有按预期改变