2012-10-17 80 views
2

我尝试使用缩放每一秒来为图片制作动画,但当我加载我的页面时它工作正常,但是我希望每秒钟都有一次。我想当我使用我的图像相同的ID时,这是一个问题。每秒钟缩放一幅图片jQuery

这是我的JSFIDDLE

谢谢。

回答

3

您使用setTimeout将执行一段时间后的某些代码,你想要的是setInterval,它会每隔一段时间执行一些代码。 http://jsfiddle.net/UxTdU/3/

2

您可以在一个时间间隔内增加zoom属性。

setInterval(function(){ 
    $("#myImg").animate({"zoom":"+=.025"}, 500); 
}, 1000); 

小提琴:http://jsfiddle.net/UxTdU/6/

你甚至可以放大它以特定的大小,然后停止:

// Cache reference to image 
var $image = jQuery("#myImg"); 

// Cache reference to zooming interval 
var zooming = setInterval(function(){ 

    // If current zoom is under 1.5 
    $image.css("zoom") < 1.5 

     // Increment zoom by .025 
     ? $image.animate({"zoom":"+=.025"}, 500) 

     // Otherwise, stop zooming 
     : clearInterval(zooming); 

// Run every 1 second 
}, 1000); 

小提琴:http://jsfiddle.net/UxTdU/8/

+0

你修正了他的逻辑......啊,主动! (: –