Có thể xoay một div bằng jQuery không? Tôi có thể xoay hình ảnh nhưng không thể xoay một div; Có giải pháp nào cho điều này?Làm thế nào để xoay một div bằng cách sử dụng jQuery
Trả lời
CHỈNH SỬA: Đã cập nhật cho jQuery 1.8
Vì các biến đổi cụ thể của trình duyệt jQuery 1.8 sẽ được thêm tự động. jsFiddle Demo
var rotation = 0;
jQuery.fn.rotate = function(degrees) {
$(this).css({'transform' : 'rotate('+ degrees +'deg)'});
return $(this);
};
$('.rotate').click(function() {
rotation += 5;
$(this).rotate(rotation);
});
EDIT: Nhập mã để làm cho nó một chức năng jQuery.
Đối với những người bạn không muốn đọc thêm nữa, thông tin cho bạn đây. Để biết thêm chi tiết và ví dụ, hãy đọc tiếp. jsFiddle Demo.
var rotation = 0;
jQuery.fn.rotate = function(degrees) {
$(this).css({'-webkit-transform' : 'rotate('+ degrees +'deg)',
'-moz-transform' : 'rotate('+ degrees +'deg)',
'-ms-transform' : 'rotate('+ degrees +'deg)',
'transform' : 'rotate('+ degrees +'deg)'});
return $(this);
};
$('.rotate').click(function() {
rotation += 5;
$(this).rotate(rotation);
});
EDIT: Một trong những ý kiến về bài đăng này đề cập jQuery Multirotation. Plugin này cho jQuery về cơ bản thực hiện chức năng trên với sự hỗ trợ cho IE8. Nó có thể có giá trị sử dụng nếu bạn muốn tương thích tối đa hoặc nhiều tùy chọn hơn. Nhưng đối với chi phí tối thiểu, tôi đề nghị các chức năng trên. Nó sẽ làm việc IE9 +, Chrome, Firefox, Opera và nhiều thứ khác.
Bobby ... Điều này là dành cho những người thực sự muốn làm điều đó trong javascript. Điều này có thể được yêu cầu để quay trên một cuộc gọi lại javascript.
Đây là jsFiddle.
Nếu bạn muốn xoay theo khoảng thời gian tùy chỉnh, bạn có thể sử dụng jQuery để đặt thủ công css thay vì thêm lớp học. Giống như this! Tôi đã bao gồm cả hai tùy chọn jQuery ở dưới cùng của câu trả lời.
HTML
<div class="rotate">
<h1>Rotatey text</h1>
</div>
CSS
/* Totally for style */
.rotate {
background: #F02311;
color: #FFF;
width: 200px;
height: 200px;
text-align: center;
font: normal 1em Arial;
position: relative;
top: 50px;
left: 50px;
}
/* The real code */
.rotated {
-webkit-transform: rotate(45deg); /* Chrome, Safari 3.1+ */
-moz-transform: rotate(45deg); /* Firefox 3.5-15 */
-ms-transform: rotate(45deg); /* IE 9 */
-o-transform: rotate(45deg); /* Opera 10.50-12.00 */
transform: rotate(45deg); /* Firefox 16+, IE 10+, Opera 12.10+ */
}
jQuery
Hãy chắc chắn rằng chúng được bọc trong $ (document) .ready
$('.rotate').click(function() {
$(this).toggleClass('rotated');
});
khoảng
Tuỳ chỉnh
var rotation = 0;
$('.rotate').click(function() {
rotation += 5;
$(this).css({'-webkit-transform' : 'rotate('+ rotation +'deg)',
'-moz-transform' : 'rotate('+ rotation +'deg)',
'-ms-transform' : 'rotate('+ rotation +'deg)',
'transform' : 'rotate('+ rotation +'deg)'});
});
vòng quay đó tốt hơn? css hoặc jquery, http://plugins.jquery.com/multirotation/. cảm ơn. –
Đã thêm thông tin trong câu trả lời về plugin này. Hãy xem mã nguồn của plugin. Nó có hỗ trợ cho IE8 và một vài tính năng khác, nhưng khác hơn là nó thực hiện chính xác những gì điều này + phí. – screenmutt
Đơn giản và hoạt động hoàn hảo. Cảm ơn bạn đã biến nó thành một hàm jQuery. Bạn có thể thay thế định nghĩa 'jQuery.fn.rotate' bằng' $ .fn.rotate' - làm điều tương tự nhưng ngắn gọn hơn. – clearlight
- 1. Làm thế nào để xoay hình ảnh bằng cách sử dụng jquery xoay plugin?
- 2. Làm thế nào để di chuyển div bằng chuột bằng cách sử dụng jquery?
- 3. jquery animate một div xoay
- 4. Làm cách nào để xoay một div với Raphael.js?
- 5. Làm thế nào để sắp xếp div theo id của họ bằng cách sử dụng jQuery?
- 6. làm thế nào để desaturate hình ảnh nền của một div bằng cách sử dụng css?
- 7. Làm thế nào để xoay đối tượng xung quanh một điểm bằng cách sử dụng quaternions?
- 8. Di chuyển đến một div bằng cách sử dụng jquery
- 9. Làm thế nào để tìm div bên trong div khác bằng cách sử dụng HtmlUnit?
- 10. Làm thế nào để xóa tất cả các hộp văn bản trong một DIV bằng cách sử dụng jQuery?
- 11. Làm thế nào để có được innertext của một DIV bằng cách sử dụng javascript?
- 12. Làm thế nào để thêm một div động bằng cách sử dụng Dojo?
- 13. Làm thế nào để tăng chiều cao hoặc sụt của một div sử dụng jquery
- 14. Xóa thẻ DIV bằng cách sử dụng Javascript hoặc Jquery
- 15. Cách tự động thêm div bằng cách sử dụng JQuery?
- 16. bằng cách sử dụng jQuery .animate để animate một div từ phải sang trái?
- 17. Làm thế nào để ngừng trôi nổi div tại điểm quy định bằng cách sử dụng jQuery
- 18. Làm thế nào để sử dụng jQuery để hiển thị một cây JSON như HTML lồng nhau bằng cách sử dụng div?
- 19. Làm thế nào để thiết lập màu nền div thành 'none' bằng cách sử dụng CSS của jQuery?
- 20. Làm thế nào để bỏ chọn một liên kết bằng cách sử dụng jquery
- 21. Làm thế nào để phân tích một đối tượng json bằng cách sử dụng jquery
- 22. Làm thế nào để cắt một hình ảnh bằng cách sử dụng jquery ajax và php?
- 23. Làm thế nào để ngăn chặn một neo từ chuyển hướng bằng cách sử dụng JQuery
- 24. Làm thế nào để tải html bằng cách sử dụng jquery vào một văn bản TinyMCE
- 25. Xóa Nội dung của Div bằng cách sử dụng JQuery
- 26. Cách lấy img bên trong một div cụ thể bằng cách sử dụng JQuery
- 27. Cuộn một div bằng jQuery
- 28. Làm thế nào tôi có thể làm mờ một div bằng jQuery?
- 29. Làm thế nào để tìm số lượng các phần tử bằng cách sử dụng jQuery
- 30. Làm thế nào để ẩn tất cả các phần tử ngoại trừ một phần bằng cách sử dụng jquery?
thể trùng lặp của [luân phiên một Div phần tử trong jQuery] (http://stackoverflow.com/questions/382591/rotating-a-div-element-in-jquery) – Bobby
@Sjoerd: Vui lòng đọc Câu Hỏi Thường Gặp: http://meta.stackexchange.com/questions/8724/how-to-deal-with-google-questions – Bobby
Tôi không nhận các quy tắc đó để đóng câu hỏi. Mọi người đang cố gắng tìm ra giải pháp cho vấn đề của họ (không chỉ là người đã đặt câu hỏi). Tôi tìm thấy điều này và tôi biết có giải pháp tốt hơn, vì vậy tôi tiếp tục tìm kiếm. Nhưng tôi không thể quay lại và đặt câu trả lời tốt hơn ở đây bởi vì "anh ấy đã không cố gắng hết sức để tìm kiếm giải pháp của riêng mình". Không phải là điểm của trang web này để thực sự cung cấp câu trả lời cho ppl trong thời gian ngắn nhất có thể?Khi anh không tự mình cố gắng "lừa dối" bản thân mình - anh ấy sẽ không trở thành lập trình giỏi nhưng cuộc chiến của anh ta không phải của chúng tôi hay của bạn. – Srneczek