CSS-переходы, вращающие img

#html #css #transitions #image-rotation

#HTML #css #переходы #вращение изображения

Вопрос:

Мне нужно, чтобы переходы, поворачивающие img по щелчку, были на 90 градусов, а после повторного нажатия кнопки изображение поворачивается на 0 градусов. У меня есть веб-сайт, на котором они есть с помощью jQuery, но мне это нужно только с помощью css.

Ответ №1:

transform:rotate() Должно использоваться свойство CSS. Я написал (простой?) для этой цели используется чистая функция JS.

JS:

 function rotate(elem, angle){
    //Cross-browser:
    var css = ["-moz-","-webkit-","-ms-","-o-","",""]
               .join("transform:rotate("   angle   "deg);")
    elem.style.cssText  = css;
}
  

Пример, скрипка: http://jsfiddle.net/zvuyc /:

 <script>
window.onload = function(){
    var angle = 0;
    document.getElementById("button").onclick = function(){
        angle  = 90 % 360;
        rotate(document.getElementById("image"), angle);
    }
}
</script>
<input type="button" id="button" value="Rotate by 90deg">
<img src="http://simplyeng.com/wp-content/uploads/2008/11/indiana_tux.png" id="image" />
  

Комментарии:

1. Таким образом, cssText может быть довольно длинным (и вызывает синтаксический анализатор css). Это вариант, в котором вместо этого задаются свойства: jsfiddle.net/2tZja