Tại sao không chỉ sử dụng, toggleClass khi nhấp?
js:
$(this).toggleClass("up");
css:
button.up {
-webkit-transform: rotate(180deg);
-moz-transform: rotate(180deg);
-ms-transform: rotate(180deg);
-o-transform: rotate(180deg);
transform: rotate(180deg);
/* IE6–IE9 */
filter: progid:DXImageTransform.Microsoft.Matrix(M11=0.9914448613738104, M12=-0.13052619222005157,M21=0.13052619222005157, M22=0.9914448613738104, sizingMethod='auto expand');
zoom: 1;
}
bạn cũng có thể thêm video này vào css:
button{
-webkit-transition: all 500ms ease-in-out;
-moz-transition: all 500ms ease-in-out;
-o-transition: all 500ms ease-in-out;
-ms-transition: all 500ms ease-in-out;
}
mà sẽ bổ sung thêm các hình ảnh động.
PS ...
để trả lời câu hỏi ban đầu của bạn:
bạn nói rằng nó quay nhưng không bao giờ dừng lại. Khi sử dụng thiết lập thời gian chờ bạn cần phải chắc chắn rằng bạn có một điều kiện mà sẽ không gọi settimeout hoặc người nào khác nó sẽ chạy mãi mãi.Vì vậy, đối mã của bạn:
<script type="text/javascript">
$(function() {
var $elie = $("#bkgimg");
rotate(0);
function rotate(degree) {
// For webkit browsers: e.g. Chrome
$elie.css({ WebkitTransform: 'rotate(' + degree + 'deg)'});
// For Mozilla browser: e.g. Firefox
$elie.css({ '-moz-transform': 'rotate(' + degree + 'deg)'});
/* add a condition here for the extremity */
if(degree < 180){
// Animate rotation with a recursive call
setTimeout(function() { rotate(++degree); },65);
}
}
});
</script>
Điều đó chỉ xoay hình ảnh. Tôi thực sự muốn nó animate/xoay và dừng lại ở một điểm hoặc mức độ nhất định. Xin lỗi, tôi nên đề cập đến điều đó trước đây. Cảm ơn. – Andrea
@Andrea, tôi đang xem trang của bạn trong Safari và hình ảnh được xoay 45 độ. Nhìn vào DOM trong giao diện điều khiển, nó hiển thị CSS thích hợp của '-webkit-transform' đã được áp dụng. Có thể trình duyệt của bạn không hỗ trợ CSS 3. – Sparky
@Andrea, chỉ cần thay đổi '.css' thành' .animate'. Xem chỉnh sửa của tôi. – Sparky