2011-11-29 22 views
6

đây là mã nhỏHàm jquery animate hoạt động như thế nào trong nội bộ?

<div id="clickme"> 
Click here 
</div> 
<img id="book" src="book.png" alt="" width="100" height="123" 
style="position: relative; left: 10px;" /> 

$('#clickme').click(function() { 
$('#book').animate({ 
    opacity: 0.25, 
    left: '+=50', 
    height: 'toggle' 
}, 5000, function() { 
    // Animation complete. 
    }); 
}); 

rõ ràng từ các mã trái đang gia tăng và độ mờ đục sẽ .25. làm thế nào jquery quản lý để làm như vậy ... không jquery trong nội bộ thực hiện một vòng lặp để tăng bên trái và thay đổi độ mờ cho đến khi nó trở thành 0,25. cần hướng dẫn. cảm ơn

+4

Xem cho chính mình, https://github.com/jquery/jquery/blob/master/src/ effects.js # L124 – Andrew

Trả lời

5

Tăng dần (hoặc giảm) giá trị tại các khoảng thời gian đã đặt bằng bộ hẹn giờ. Nó không thể sử dụng một vòng lặp vì nếu đó là trường hợp nó sẽ chặn/đóng băng các chủ đề js chính trong khi làm điều đó và bạn sẽ không nhìn thấy các hình ảnh động. Mọi thứ trong js là (hoặc phải là) không đồng bộ, thông qua các sự kiện.

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