2

我尝试以每秒缩放一次的方式为图像设置动画,当我加载页面时它可以工作,但我希望每秒钟都需要它。我认为当我使用相同的图像 ID 时,这是一个问题。

这是我的JSFIDDLE

谢谢你。

4

3 回答 3

3

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

于 2012-10-17T15:00:40.120 回答
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/

于 2012-10-17T15:00:30.173 回答
1

http://jsfiddle.net/UxTdU/5/ - 使用 setInterval,而不是 setTimeout。setTimeout 只发生一次。

于 2012-10-17T15:02:14.430 回答