Можно ли повернуть изображение с помощью JavaScript без холста или AJAX?
-
09-09-2019 - |
Вопрос
Я видел несколько ротаторов изображений JavaScript, которые используют либо элемент холста HTML5, либо вызов AJAX серверного сценария, но можно ли сделать это без использования этих методов?Internet Explorer не поддерживает холст (я знаю об excanvas, но по возможности хотелось бы обойтись без него), и я не уверен, что AJAX будет достаточно гибким.Если есть способ, есть ли какие-либо сценарии, примеры или ресурсы с открытым исходным кодом, на которые вы могли бы мне указать?
Решение
Увы, CSS не поддерживает вращение изображений каким-либо способом, формой или формой (если только вы не считаете CSS-преобразования, которые поддерживаются только Safari 4 и Firefox 3.1).
Лучше всего использовать Рафаэльimage() и Rotate(), которые должны поддерживать все полусовременные браузеры (с использованием SVG) и большинство версий IE (с использованием VML).
Другие советы
Этот плагин jQuery работает в основных браузерах, включая IE: http://wilq32.googlepages.com/wilq32.rollimage222 .Он использует excanvas, но, по крайней мере, позволяет вам оценить, достаточно ли этот метод хорош для ваших целей.
Google — ваш друг:http://www.walterzorn.com/rotate_img/rotate_img.htm
Но недостатком этого метода (как уже упоминалось) является то, что он использует хаки, вставляя огромное количество DIVS, что может немного замедлить работу браузера.Используйте с осторожностью.Именно из-за подобных проблем вообще был создан тег Canvas.
Да, через CSS Transform:
var degree=180;
document.getElementById('image_name').style.transform='rotate('+degree+'deg)';