帮助这个动画循环

时间:2011-08-06 17:37:18

标签: javascript animation canvas svg

t.grow = function(parent,evt) { 
evt.target.Y = 0
var r = parent.radius, that = this
this.loop = function() {
    parent.root.suspendRedraw(10000)
    evt.target.Y = evt.target.Y - 6
    evt.target.setAttribute('transform', 
              'translate(' + 0 + ',' + evt.target.Y + ')')
    r = r + 0.1
    evt.target.setAttribute('r',r)
    parent.root.unsuspendRedrawAll()
     if(evt.target.Y < parent.timeout) {
        clearInterval(that.timer)
     }
}
that.timer = window.setInterval(this.loop,30) 
}
this.el.addEventListener("mouseover",
function(event){ 
    t.grow(parent,event)
},
true) 

我真的需要一些上述动画的帮助。

目前在对象的鼠标悬停时触发动画,但我真正希望实现的是在我希望它随机发射的事件上触发的动画

1 个答案:

答案 0 :(得分:4)

function start(){
  grow()//You will need to pass in whatever element you want this to act on.
  setTimeout(function(){start()},(Math.floor(Math.random()*10)+5)*1000);
}

基本上第二行创建一个介于0到10之间的随机数,然后它会增加5,这样就不会有两个动画背靠背运行。