我会说实话,我已经将来自几个来源的代码拼凑起来而不知道它是如何工作的,而且我已经把自己弄糊涂了。
我在div(.projectImages)中有一系列图像,我想计算它们的组合宽度,然后将该值传递给动画,以便它将图像移动到组合宽度。
这是我的frankenstein代码:
function calcWidth() {
var imgwidth = 0;
$(".projectImages").find("img").each(function(){
imgwidth += $(this).width();
});
return imgwidth;
}
$(function(){
$("#rightArrow").hover(function() {
$('.projectImages').animate({left: imgwidth +'px'}, 3000);
},function() {
$('.projectImages').stop();
});
});
我很确定问题在于计算宽度,但正如我所说,这段代码是一个复制和粘贴工作,所以我不确定它是如何工作的。
jQuery相当新,但我慢慢地到了那里。
答案 0 :(得分:1)
看起来并没有错(逻辑上)。语法略有不同,您在imgWidth
(文档就绪)方法中使用$()
。但它应该抛出一个参考错误。
您应该将imgWidth
替换为calcWidth()
,并且没问题。
答案 1 :(得分:0)
$('。projectImages')。animate({left:calcWidth()+'px'},3000);
注意图像是否有边距/填充,也应包含在计算中