Flip — плагин jQuery

Flip — плагин jQuery

Сегодня мы рассмотрим один интересный плагин для jQuery — Flip. Он позволяет вращать элементы на странице.

Для начала нам потребуется файлик с jQuery 1.2.6 и jQuery UI под нее. Потом мы пойдем на сайт разработчика плагина и скачаем его оттуда.

Рассмотрим аргументы плагина:

  • direction: направление вращения (возможные вариант — tb, bt, rl, lr);
  • bgColor: цвет фона блока в начале вращения;
  • color: цвета фона блока в конце вращения;
  • speed: скорость вращения;
  • content: определяет новое содержание развернувшегося блока (текст, html или объект jQuery).

Ну вот, значит чтобы развернуть по вертикали блок в id="myBlock" за полсекунды, при это чтобы сначала фон блока был белым, а потом черным, плюс чтобы в конце в блока вставить содержимое блока с id="myNewBlock", нужно написать вот так:

$('myBlock').flip({
direction: tb,
bgColor: #FFFFF,
color: #000000,
speed: 500,
content: $('myNewBlock')
});

Ага, а теперь давайте сделаем что-нибудь более интересное. Скажем, у нас есть 4 карты. При клике на любую их них, эта карта должна поворачиваться. Изначально карты рубашкой вверх.

HTML

<ul class="playing-cards">
<li>
<div class="card1 back"></div>
</li>
<li>
<div class="card2 back"></div>
</li>
<li>
<div class="card4 back"></div>
</li>
<li>
<div class="card3 back"></div>
</li>
</ul>

CSS

ul.playing-cards {
margin: 0;
padding: 0;
}

ul.playing-cards li {
margin: 0 30px 20px 0;
padding: 0;
float: left;
width:144px;
height: 209px;
list-style-type: none;
cursor: pointer;
}

ul.playing-cards li .card1.back,
ul.playing-cards li .card2.back,
ul.playing-cards li .card3.back,
ul.playing-cards li .card4.back {
width:144px;
height: 209px;
background: url(images/back.gif) 0 0 no-repeat;
}

ul.playing-cards li .card1 {
width:144px;
height: 209px;
background: url(images/1.gif) 0 0 no-repeat;
}

ul.playing-cards li .card2 {
width:144px;
height: 209px;
background: url(images/2.gif) 0 0 no-repeat;
}

ul.playing-cards li .card3 {
width:144px;
height: 209px;
background: url(images/3.gif) 0 0 no-repeat;
}

ul.playing-cards li .card4 {
width:144px;
height: 209px;
background: url(images/4.gif) 0 0 no-repeat;
}

JavaScript

$(document).ready(function() {
var speed = 150;
function backFront(el) {
el.toggleClass('back');
}

function rotateCard(el, sp) {
el.flip({
direction: 'rl',
bgColor: '#FFFFFF',
color: '#e4bcc1',
speed: sp
});
setTimeout(backFront(el), sp);
}

function bindRotation() {
$('.playing-cards .back').each(function() {
$(this).click(function(e) {
rotateCard($(this), speed);
});
});
}

bindRotation();

});

Смотрим, что получили. По моему довольно симпатично ;-)

А теперь вопрос к вам, дорогие читатели. Какое практическое применение вы видите этому плагину? Пришел ли вам на ум какой-нибудь случай, где можно использовать эту штуку? Если да, то не стесняйтесь, пишите в комментах!

P.S. И еще, дорогие читатели, как вы относитесь к идее сделать форум на базе нашего сайта? Вы бы задавали там всякие интересные вопросы, а мы отвечали на них. Как вам?

Расскажите друзьям

Оцените статью:
  • 1
  • 2
  • 3
  • 4
  • 5

Комментарии — 21

drw
забавно
#
drw
surger
Хм. и не надо никакого "флеша" ;) можно реализовать покер ;)
#
surger
annykey
можно в "пошаговой" форме использовать... ну или там форма обратной связи... типо перевернулось, а там "спасибо, ваше сообщеие отправлено" :)
#
annykey
Grin
Annykey, да, неплохая идея использовать для респонса при аяксе
#
Grin
Octane
В плагине не оптимально реализована инициализации ссылки flipObj на объект, особенно повторный вызов метода offset. Можно немного повысить производительность.
Жека
В хроме, к сожалению, выглядит не так мило.
vlad
в хроме выглядит лучше чем в опере, просто его обновлять надо хоть изредко!
#
vlad
Жека
В Опере и правда хуевато.
WearyMax
забавно :) но не кроссбраузерно (нормально показало в ФФ3 и ИЕ7, в остальных ппц)
Константин
Господа, а можно ли сделать так чтобы картинка переворачивалась при клипе на определённый участок картинки?
#
Константин
Константин
Клике*
#
Константин
nice
Прикольно... только вот где это использовать... :)
#
nice
Skaizer
Оригинально очень, тем более в жаваскрипте и без канваса реализовали.
Сергей
Паша, а как насчет IE6? Это же до сих пор самый популярный браузер. Есть смысл уделить ему внимание, думаю.
Snowcore
Забавная идея!
jQuery скоро полностью заменит Flash :-D
akiselev
Класс. Радует, что я к этой мысли пришел году эдак в 2002, была у меня такая менюшка вращающаяся и кода 40 строк, и без всяких квери. Осталась, правда, только в виде прототипа. Но до сих пор при показе в портфолио - народ делает круглые глаза - "флеш?".
#
akiselev
Джинн
Господа, а можно ли сделать так чтобы картинка переворачивалась при клипе на определённый участок картинки?
Можно использовать Canvas, для ие надо подключить excanvas. Скачайте пример http://code.google.com/p/explorercanvas/downloads/list там вроде есть))
#
Джинн
Алексей
Прикольное исполнение. Применю при разработке. Кстати, можно для капчи использовать как вариант.
Виталий
Использование Canvas!!! Я тоже ищу способ переворачивания картинки при клике на определенном её участке. Спасибо. И, вообще, поскольку переворачивается div, то div-ом можно обернуть и кнопки, которые переворачивают картинки.
login2030
А мне не подошло, по причине того, что в параметрах нельзя указать альфаканал, а так как картинка у меня круглая, то смотрелось очень некрасиво. А так очень удобная либа. Еще есть вот такое решение http://krogrim.ru/blog/3d_rotate (его я и использовал)
#
login2030

Новый комментарий

как выглядит какой тег
жирный текст <b>жирный текст</b>
курсивный тект <i>курсивный тект</i>
зачеркнутый текст <s>зачеркнутый текст</s>
подчеркнутый текст <u>подчеркнутый текст</u>
ссылка <a href="адрес">ссылка</a>
function foo() { ... }
<pre><code>function foo() { ... } </code></pre>
разрешенные теги или посмотреть как будет выглядеть
как выглядит какой тег
жирный текст <b>жирный текст</b>
курсивный тект <i>курсивный тект</i>
зачеркнутый текст <s>зачеркнутый текст</s>
подчеркнутый текст <u>подчеркнутый текст</u>
ссылка <a href="адрес">ссылка</a>
function foo() { ... }
<pre><code>function foo() { ... } </code></pre>
разрешенные теги или посмотреть как будет выглядеть

metin2 pvp metin2 pvp serverler pvp serverler