每隔一秒jQuery缩放图像

时间:2012-10-17 14:58:14

标签: javascript jquery jquery-animate

我尝试每秒缩放一个图像动画,它在我加载页面时起作用,但我每隔一秒就想要它。我认为当我使用相同的图片ID时,这是一个问题。

这是我的JSFIDDLE

谢谢。

3 个答案:

答案 0 :(得分:3)

你正在使用setTimeout,它会在一段时间后执行一些代码,你想要的是setInterval,它会经常执行一些代码。 http://jsfiddle.net/UxTdU/3/

答案 1 :(得分: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/

答案 2 :(得分:1)

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