jQueryRotate — крутим картинки
Дата публикации: 09.11.2011
Плагин jQueryRotate позволяет поворачивать картинки (img) на заданный угол. Реализован как статический поворот, так и динамическое вращение.
По заверениям разработчиков, для современных браузеров используются CSS3-свойства и их вендорные аналоги, для старых браузеров используется рисование на канве или VML.
Проверено в:
- IE 6-9
- Firefox 3+
- Opera 9+
- Safari
- Chrome
Что качать?
- библиотеку jquery качаем или подключаем из хранилища.
- jqueryrotate.2.1.js (10.69 Kb) — собственно плагин.
Быстрый старт
Подключаем библиотеки:
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.6.1/jquery.min.js"></script> <script type="text/javascript" src="js/jqueryrotate.2.1.js"></script>
Как-либо выделяем картинку, которую будем вращать. Например, присваиваем id.
<img src="img/pic1.jpg" height="200" width="200" alt="" id="rotateImg"/>
Даем команду на поворот на 45 градусов:
<script type="text/javascript">
jQuery(document).ready(function() {
jQuery("#rotateImg").rotate(45);
});
</script>
А теперь подробнее
Итак, управление вращением происходит с помощью функции rotate(). Результат вращения определяется переданными ей параметрами.
Собственно, есть два варианта:
- Вещественное число (как в примере выше) — угол в градусах, на который повернется картинка. Положительное число — поворот по часовой стрелке, отрицательное — против.
- Объект, содержащий параметры вращения.
Параметры вращения:
| Название параметра | Описание | Значение по-умолчанию |
|---|---|---|
| angle | Угол мгновенного поворота в градусах. | 0 |
| animateTo | Угол анимированного плавного поворота в градусах. | 0 |
| duration | Длительность анимации поворота при использовании animateTo, мс. | 1000 |
| easing | При использовании плагина jQuery Easing, можно задать неравномерное вращение. | |
| bind | Объект, содержащий события, при которых необходимо вращение картинки. | |
| callback | Функция, вызывающаяся после завершение анимации. |
Примеры
Поворот с использованием числового параметра и объекта (результат одинаков):
<script type="text/javascript">
jQuery("#rotateImg").rotate(45);
jQuery("#rotateImg").rotate({angle:45});
</script>
Поворот по наведению/убиранию мыши:
<script type="text/javascript">
jQuery("#rotateImg").rotate({
bind:
{
mouseover : function() {
jQuery(this).rotate({animateTo:180})
},
mouseout : function() {
jQuery(this).rotate({animateTo:0})
}
}
});
</script>
Постоянное вращение с использованием таймера:
<script type="text/javascript">
var angle = 0;
setInterval(function(){
angle+=3;
jQuery("#rotateImg").rotate(angle);
},50);
</script>
Постоянное вращение c использованием рекурсивного вызова функции:
<script type="text/javascript">
var rotation = function (){
jQuery("#rotateImg").rotate({
angle:0,
animateTo:360,
callback: rotation
});
}
rotation();
Вращение контента
Для нормальных современных браузеров плагин позволяет вращать не только картинки, но и другой обычный контент. Хотя красота отображения повернутых шрифтов в некоторых браузерах оставляет желать лучшего.
В старых версиях браузеров плагин, как минимум, не сможет повернуть не img (например IE7 лично у меня вообще повис наглухо).
Помни! Разработчики позиционируют свое детище именно, как плагин для поворота картинок. Только в этом случае гарантируется кроссбраузерность.
Материал:
По теме:
- jquery.flip — плагин для переворота контента
- Текст под углом
- Вертикальный текст на CSS
- IE’s CSS3 Transforms Translator
