我正在爲我的網站一個新的介紹頁面上,並碰到了一個問題......jQuery的動畫滯後/口吃
標誌旋轉,在0度停止,然後應該擴展到20%,並且移動右上方。
的旋轉停止後,它有一個像1.2秒的暫停之前迅速調整的項目,並繼續...
有人可以看一看,看看這是怎麼回事?
代碼(Fiddle)
rotate = function(element,initial){
element = $(element);
rDeg = initial; //Initial angle
element.css({
'-webkit-transform': 'rotate('+rDeg+'deg)',
'-moz-transform': 'rotate('+rDeg+'deg)',
'-ms-transform': 'rotate('+rDeg+'deg)',
'-o-transform': 'rotate('+rDeg+'deg)',
'transform': 'rotate('+rDeg+'deg)'
});
// Animate rotation with a recursive call
timer = setTimeout(function() {
++rDeg; rotate('#logo',rDeg);
},5);
if(rDeg==-1){ clearTimeout(timer); moveLogo() }
}
rotate('#logo',-80);
moveLogo = function(){ $('#logo').animate({width:'20%'}, 1800) }
嗯..但我不希望它延遲..我希望它補間動畫1.8秒,使其平穩。 –
我將不得不做類似的事情(循環,逐漸改變價值)來使動畫變得流暢嗎?我認爲這就是'duration'的價值所在。它以前一直很有用。 *好吧,永遠在Chrome中,並不總是在FF * –
平滑我看...請參閱更新的演示 – mishik