Javascript jQuery:尝试设置所有动画<;img>;一声不响

Javascript jQuery:尝试设置所有动画<;img>;一声不响,javascript,jquery,Javascript,Jquery,以下是文档中的正式jQuery示例: 我尝试使用类似的animate()函数,但我想从每个图像的当前left属性中减去300个像素 我尝试了以下方法: $( ".instagram_grid .first" ).animate({ left: $(this img).left -300 } 然后像示例中一样使用步长函数,希望它应用每个图像的相同相对定义的left属性 然而,它不是有效的jQuery,或者更确切地说,它实际上没有任何可识别的效果 这是我的小提琴: 为什么不(未经测试的代码)

以下是文档中的正式jQuery示例:

我尝试使用类似的
animate()
函数,但我想从每个图像的当前
left
属性中减去300个像素

我尝试了以下方法:

$( ".instagram_grid .first" ).animate({
left: $(this img).left -300 
}
然后像示例中一样使用步长函数,希望它应用每个图像的相同相对定义的
left
属性

然而,它不是有效的jQuery,或者更确切地说,它实际上没有任何可识别的效果

这是我的小提琴:

为什么不(未经测试的代码):


两件事-图像的左位置像前面提到的那样自动返回。那么$(this img)应该是$(this).find('img'),其位置的值应该被解析为整数:


抱歉,在回答之前没有看到您的JSFIDLE,我的错:)最好写$('.instagram_grid')。查找('.first');)@感谢你指出这一点。我一直在努力解决
$('div>span')
$('div')。查找('span')
,是否有一些链接可以解释这一点?非常感谢!这很清楚!但是,这是否仅适用于
id
s?我之前的评论是通过
标记
名称引用DOM。使用
class
如何?是的,它适用于类,比查找页面中的每个跨距更有效,然后返回容器中的跨距,ID仅确保其限制为一个元素您可以使用
左边距
属性吗?可以使用
left
,但您必须处理这样一个事实,即它可以设置为
auto
,这是NaN。我对此表示感谢。然而,看起来您的实现,虽然看起来像是从现有的左边减法,但只是使所有div都一致地左移:-300px。我明白了-每个方法确实是更好的选择。有些评论仍然有效,因此我将保留答案。
jQuery(function($) {
    $('.instagram_grid .first').each(function() {
         $(this).animate({left: $(this).left - 300}, 1000);
    });
});
$( ".instagram_grid .first" ).animate({
left: parseInt($(this).find('img').css('left'))-300
},