2011-12-22 64 views
0

動畫首先運行正常,但另一個函數使用css3轉換屬性爲「旋轉」設置動畫,運行後動畫變得非常不連貫。使用css3轉換後jquery動畫波濤洶涌

下面是成爲波濤洶涌的兩個功能:

function fadePlayer(){ 
     $(".logof, .location").fadeOut(2000); 
     $(".turntable, .arm, .bio, .controls").fadeIn(2000); 
     $(".logor").animate({ 
      backgroundSize: "104px 103px", 
      height: "103px", 
      width: "104px", 
      top: "5px", 
      left: "33px" 
     }, 1000); 
    } 

function unFadePlayer(){ 
     $(".logof, .location").fadeIn(500); 
     $(".turntable, .arm, .bio, .controls").fadeOut(500, function(){ 

     }); 
     $(".logor").animate({ 
      backgroundSize: "49px 49px", 
      height: "49px", 
      width: "49px", 
      top: "23px", 
      left: "63px" 
     }, 250);  
    } 

和過渡會影響被稱爲像這樣:

playing: function(){ 
      var degree = 0; 
      spinAction = setInterval(function(){ 
       degree = degree < 5 ? degree + 5 : 0; 
       $(".logor").css({ 
        '-webkit-transition':'all 1s ease-in-out', 
        '-webkit-transform':'rotate('+degree+'deg)', 
        '-ms-transition':'all 1s ease-in-out', 
        '-ms-transform':'rotate('+degree+'deg)', 
        '-moz-transition':'all 1s ease-in-out', 
        '-moz-transform':'rotate('+degree+'deg)', 
        '-o-transition':'all 1s ease-in-out', 
        '-o-transform':'rotate('+degree+'deg)', 
        'transition':'all 1s ease-in-out', 
        'transform':'rotate('+degree+'deg)', 
       }); 
      }, 1000); 
      var angle = 0; 
      wobbleAction = setInterval(function(){ 
       angle = angle < 2 ? angle + 2 : 0; 
       $(".arm").css({ 
        '-webkit-transform-origin':'14 14', 
        '-webkit-transition':'all 1s ease-in-out', 
        '-webkit-transform':'rotate('+angle+'deg)', 
        '-ms-transform-origin':'14 14', 
        '-ms-transition':'all 1s ease-in-out', 
        '-ms-transform':'rotate('+angle+'deg)', 
        '-moz-transform-origin':'14 14', 
        '-moz-transition':'all 1s ease-in-out', 
        '-moz-transform':'rotate('+angle+'deg)', 
        '-o-transform-origin':'14 14', 
        '-o-transition':'all 1s ease-in-out', 
        '-o-transform':'rotate('+angle+'deg)', 
        'transform-origin':'14 14', 
        'transition':'all 1s ease-in-out', 
        'transform':'rotate('+angle+'deg)', 
       }); 
      }, 1000); 

     }, 
     pause: function(){ 
      clearInterval(spinAction); 
      clearInterval(wobbleAction); 
     }, 

「玩」 和「暫停「只是響應事件的方法。

backgroundSize的動畫是通過一個插件提供的,但即使被取出,每個動作都會發生明顯的滯後。淡入/淡出會停止一致淡化所選元素,並且動畫的每一行都會在後續時間間隔內發生,而不是一次全部消失。

任何想法可能導致這種情況?

回答

相關問題