2011-11-22 46 views
6

Đầu tiên hãy xem:.animate với một đường cong

enter image description here

Con mèo cần phải di chuyển đến x trong một đường cong . (xem mũi tên)

Khi con mèo chạm vào x, nó sẽ ở lại 10 giây, và sau đó con mèo sẽ quay trở lại o, một lần nữa trong một đường cong và lặp lại.

Tôi đã thử nó với mã này:

function curve() { 
    $('#cat').delay(10000).animate({top: '-=20',left: '-=20'}, 500, function() { 
     $('#cat').delay(10000).animate({top: '+=20', left: '+=20'}, 500, function() { 
      curve(); 
     }); 
    }); 
} 

curve(); 

Nhưng con mèo đang chuyển động như thế này:

enter image description here

Có cách nào để có được những con mèo để di chuyển trong các loại hình đường cong ?

+0

http://stackoverflow.com/questions/2240052/how-would-you-animate-something-so-that-it- sau-một-cong – RightSaidFred

+0

YUI cũng cung cấp hỗ trợ cho hình ảnh động cong. http://developer.yahoo.com/yui/examples/animation/control.html –

Trả lời

1

Bạn có thể sử dụng nới lỏng để đạt được điều đó, bằng cách thực hiện một phong trào hợp chất:

function curve() { 
    $('#cat').delay(10000).animate({top: "+=20px", left: "+=20px"}, { 
     duration: 500, 
     specialEasing: {top: 'easeOutQuad', left: 'easeInQuad'}, 
     complete: function() { 
     $('#cat').animate({top: "-=20px", left: "+=20px"}, { 
      duration: 500, 
      specialEasing: {top: 'easeInQuad', left: 'easeOutQuad'}, 
      complete: function() { 
      // repeat the other way around. 
      }}); 
     } 
    }); 
} 

Nó hoạt động kể từ jQuery 1.4, theo đến jQuery docs và các giá trị được đề cập đến yêu cầu giao diện người dùng jQuery (nhưng chỉ có mô-đun Effect Core). Mỗi tài khoản gọi .animate() chiếm một phần tư đường dẫn vòng tròn đầy đủ và ngược lại easeInQuad so với easeOutQuad làm cho đường dẫn trông giống như đường tròn thay vì thẳng đến vị trí mới.

+0

hi matehat! tôi đã nhận lỗi này trong bảng điều khiển lỗi của mình: Lỗi: f.easing [e.animatedProperties [this.prop]] không phải là hàm Tệp nguồn: tệp: /// C:/Dokumente% 20und% 20Einstellungen/Administrator/Desktop/tyler/js/js/jquery-1.6.4.min.js Dòng: 4 – bernte

+0

Bạn có thể cần phải bao gồm jQuery UI (chỉ phần Hiệu ứng cốt lõi), [tệp] này (https://github.com/jquery/ jquery-ui/blob/master/ui/jquery.effects.core.js) nói riêng. – matehat

0

Có một kịch bản rất nhỏ, chỉ dành riêng cho hình ảnh động không theo đường thẳng, gọi là pathAnimator

Các vấn đề liên quan