2011-08-06 4 views
1
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) 

정말 위의 애니메이션에 대한 도움이 필요합니다.이 애니메이션 루프의 도움말

애니메이션 객체의 마우스 오버에 트리거되는 순간

,하지만 난 정말 달성하고자하는 애니메이션이 나는 임의의 시간

답변

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를 추가하여 두 개의 애니메이션이 연속적으로 실행되지 않도록합니다.