jquery设置不同img宽度的动画

jquery设置不同img宽度的动画,jquery,image,width,jquery-animate,Jquery,Image,Width,Jquery Animate,我一直在寻找一个答案很长一段时间都没有结果,所以是时候问了。 我正在尝试使用.animate()更改单击后图像的大小。图像的第一个状态是缩略图大小,它将动画设置为图像的原始大小,然后再次设置为缩略图 编辑:默认情况下,图像以150px的宽度加载 问题是,并非所有图像都具有相同的“原始”大小,因此我需要一种方法来告诉一个通用函数切换到当前图像的原始大小 这是我在$(窗口)上加载的当前代码。加载: 这显然不是我想要的方式,因为.animate()在我说width:'时会思考,我想让width=0。有

我一直在寻找一个答案很长一段时间都没有结果,所以是时候问了。 我正在尝试使用
.animate()
更改单击后图像的大小。图像的第一个状态是缩略图大小,它将动画设置为图像的原始大小,然后再次设置为缩略图

编辑:默认情况下,图像以150px的宽度加载

问题是,并非所有图像都具有相同的“原始”大小,因此我需要一种方法来告诉一个通用函数切换到当前图像的原始大小

这是我在$(窗口)上加载的当前代码。加载:


这显然不是我想要的方式,因为
.animate()
在我说
width:'
时会思考,我想让width=0。有什么建议吗?

这里有一个想法:当你在页面上写一个图像时,添加一个类或一些其他属性作为图像的原始宽度,然后当你将其动画化回原始大小时,尝试
$(this).animate({width:$(this).attr('original_size_attribute_of_your_selection'))400)


tl,dr:将原始大小保存在每个图像的属性中。

欢迎这样做,请不要忘记访问和阅读
标签在加载时是否在页面中设置了高度/宽度(直接作为属性或通过CSS)?是的,图像加载时的宽度为150px。
$('img[class=resize]').click(function (){
        if ($(this).width() != 150)
        {
            $(this).animate({width: '150px'}, 400);
        }
        else
        {
            $(this).animate({width: ''}, 400);
        }
    });