Tôi nghĩ lý do nó không hoạt động có cái gì để làm với thực tế là bạn có tập right
vị trí, nhưng không phải là left
.
Nếu bạn tự đặt left
đến vị trí hiện tại, có vẻ như đi:
Sống dụ:http://jsfiddle.net/XqqtN/
var left = $('#coolDiv').offset().left; // Get the calculated left position
$("#coolDiv").css({left:left}) // Set the left to its calculated position
.animate({"left":"0px"}, "slow");
EDIT:
Xuất hiện như mặc dù Firefox hoạt động như mong đợi vì tính toán của nó Vị trí ed left
có sẵn dưới dạng giá trị đúng theo pixel, trong khi trình duyệt dựa trên Webkit và dường như là IE, trả lại giá trị là auto
cho vị trí bên trái.
Vì auto
không phải là vị trí bắt đầu cho hoạt ảnh, hoạt ảnh có hiệu quả chạy từ 0 đến 0. Không thú vị lắm khi xem. : o)
Đặt vị trí bên trái theo cách thủ công trước khi hình động như trên khắc phục sự cố.
Nếu bạn không thích làm lộn xộn cảnh quan với các biến, đây là một phiên bản tốt đẹp của cùng một điều mà obviates sự cần thiết cho một biến:
$("#coolDiv").css('left', function(){ return $(this).offset().left; })
.animate({"left":"0px"}, "slow");
Trong bài đọc của tôi về nguồn jQuery http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.js, để xác định vị trí jQuery đã chuẩn hóa một vị trí phần tử thành "top" và " còn lại "tương đối" dưới mui xe "- Tôi tin rằng câu trả lời của bạn là không chính xác. Ví dụ: ví dụ của tôi hoạt động mặc dù giá trị css được đặt cho đúng và giá trị animate được đặt ở bên trái. – artlung
@artlung - Cảm ơn bạn đã liên kết nhưng bạn đã thử nghiệm trình duyệt nào? Tôi đang thử nghiệm trong Safari và hoạt ảnh không hoạt động mà không đặt vị trí bên trái. Nó nhảy trực tiếp sang trái, có lẽ là kết quả của giá trị ban đầu của trái là 'auto'. – user113716
Đã kiểm tra trong Firefox và hoạt động rất tốt. Đặc biệt, Chrome và Safari hoạt động như bạn đã chỉ ra. Vì vậy, nó thực hiện/thay đổi/đến đúng vị trí, nhưng nó không hiển thị fx tạm thời! Thêm jQueryUI (cái được cho là cho phép tạo ra những thứ bổ sung mà jQuery bình thường không thể làm) không làm thay đổi đối với Chrome và Safari. – artlung