Javascript 此动画循环的帮助 t.grow=函数(父函数,evt){ evt.target.Y=0 var r=parent.radius,that=this this.loop=函数(){ 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.unUnpendRedrawall() if(evt.target.Y

Javascript 此动画循环的帮助 t.grow=函数(父函数,evt){ evt.target.Y=0 var r=parent.radius,that=this this.loop=函数(){ 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.unUnpendRedrawall() if(evt.target.Y,javascript,animation,canvas,svg,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 -

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

目前,动画是在对象上方的鼠标上触发的,但我真正想要实现的是,而不是在我希望它在随机时间触发的事件上触发动画

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) 
基本上,第二行创建一个介于0和10之间的随机数,然后再加上5,这样就不会有两个动画背靠背运行

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

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);
}