2014-02-24 40 views
1

我必须沿着身体的整个长度移动图片。所以这是我写的代码:沿所有身体宽度移动div

function moveRight(){ 
    $("#b").animate({left: "+=400"}, $("body").width(),moveLeft) 
} 

function moveLeft(){ 
    $("#b").animate({left: "-=400"}, $("body").width(),moveRight) 
} 

$(document).ready(function() { 
    moveRight(); 
}); 

你可以找到一个工作的小提琴here。我在小提琴中使用随机图片,但正如您所看到的,它会从屏幕中消失。

我想在身体结束之前停止(右侧)。我怎么能这样做?

+0

那么,你永远不会定义它应该停止动画。第二个参数是持续时间或选项(这是一个对象)。 – putvande

回答

3

您可以使用图像容器宽度计算left参数值:

function moveRight(){ 
    $("#b").animate({ 
     left: $("#b").parent().width() - $("#b").width() 
    }, 
    $("body").width(), 
    moveLeft 
    ); 
} 

而对于左侧,你可以使用0代替。

function moveLeft(){ 
    $("#b").animate({left: "0"}, $("body").width(),moveRight) 
} 

JSFIDDLE

+0

这工作完美,谢谢:) –

+0

@AlbertoRossi不客气!来自罗马尼亚的问候。 :-) –

+0

只是一件事:我还可以定义它应该运行多快? –

1

而不是做一个静态400px你可以$('body').width() - 200

200是图像的宽度。