Javascript jQuery:尝试设置所有动画<;img>;一声不响
以下是文档中的正式jQuery示例: 我尝试使用类似的Javascript jQuery:尝试设置所有动画<;img>;一声不响,javascript,jquery,Javascript,Jquery,以下是文档中的正式jQuery示例: 我尝试使用类似的animate()函数,但我想从每个图像的当前left属性中减去300个像素 我尝试了以下方法: $( ".instagram_grid .first" ).animate({ left: $(this img).left -300 } 然后像示例中一样使用步长函数,希望它应用每个图像的相同相对定义的left属性 然而,它不是有效的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
},