css, html, php, javascript, jQuery, ajax … – решения, примеры, рецепты
11 Фев
Этот плагин к jQuery написал Ralf Stoltze. Мне очень понравилось – можно немного отдохнуть и расслабиться. И самое интересное – легко и просто можно подставить любую картинку, да хоть свою фотографию…
В общем расслабьтесь и поиграйте пока, а все пояснения потом, когда отдохнете.
Для того, чтобы сделать эту игрушку на своем сайте необходимо будет скачать библиотеку jQuery и плагин jqPuzzle.
В примере, исходный код которого Вы можете скачать на моем сайте, плагин jqPuzzle уже есть.
В раздел HEAD страницы надо файлов javascript, вот так:
<script type="text/javascript" src="jquery.js"></script> <script type="text/javascript" src="jquery.jqpuzzle.js"></script>
и, если Вы используете не пример с моего сайта Вам надо будет подключить файл стилей (в моем примере стили включены в страницу).
<link rel="stylesheet" type="text/css" href="jquery.jqpuzzle.css" />
Дальнейшая настройка возможна тремя различными способами:
Способ первый, самый простой.
Просто добавляем на страницу понравившуюся картинку
<img src="image.jpg" alt="Моя картинка" class="jqPuzzle" />
и указываем имя класса class=»jqPuzzle». Это все! Пятнашки будут работать! Правда все настройки будут установлены по умолчанию и Вам придется довольствоваться надписями на кнопках на английском языке.
Способ второй, настройка с использованием CSS микроформатов.
Этот способ позволит настроить наиболее важные возможности. По сути, Вы просто добавляете второе (дополнительное) имя класса к уже существующему имени в тэге IMG, соблюдая следующий синтаксис:
jqp[-LANGUAGE]-rROWS-cCOLS[-hHOLE][-sSHUFFLE_ROUNDS][-FLAGS]
Здесь необходимо заменить символы в верхнем регистре реальными значениями. Все, что заключено в квадратные скобки можно не использовать. Приведу список возможных значений и примеры.
LANGUAGE: код языка. По умолчанию – английский (en). Доступные языки – fr, de, pt и я дописал для русского – ru (это если использовать исходный код с моего сайта).
ROWS: количество строк (от 3 до 9)
COLS: количество столбцов (от 3 до 9)
HOLE: позиция свободного места (от 1 до ROWS*COLS). По умолчанию – последняя позиция, в правом нижнем углу.
SHUFFLE ROUNDS: количество циклов перемешивания. По умолчанию установлено 3.
FLAGS: дополнительные опции с помощью которых можно настроить вид игрушки при загрузке страницы (перечислены ниже). Можно использовать любое количество флагов, в любом порядке.
S: картинка будет перемешана при загрузке страницы.
N: при загрузке цифры будут скрыты.
A: скрывает кнопку «Перемешать».
B: скрывает кнопку «Оригинал».
C: скрывает кнопку «Цифры».
D: скрывает количество перемещений.
E: скрывает количество секунд.
Несколько примеров, чтобы стало совсем понятно.
Пример 1: 3 строки, 5 колонок, «дырка» в позиции 5.
<img src="image.jpg" alt="Моя картинка" class="jqPuzzle jqp-r3-c5-h5" />
Пример 2: язык – немецкий, 5 строк, 5 колонок.
<img src="image.jpg" alt="Моя картинка" class="jqPuzzle jqp-de-r5-c5" />
Пример 3: язык – русский, 3 строки, 3 колонки, «дырка» в позиции 5, загружается со скрытыми цифрами и не отображается количество перемещений и время.
<img src="image.jpg" alt="Моя картинка" class="jqPuzzle jqp-ru-r3-c3-h5-NDE" />
думаю, что смысл здесь вполне понятен.
Способ третий, использование синтаксиса jQuery.
<script type="text/javascript">
$(document).ready(function() {
$("img").jqPuzzle();
});
</script>
это простейший пример, с настройками по умолчанию, который сделает пятнашки из всех тэгов img на странице. Понятно, что это для примера, реально Вы можете использовать любой селектор. Вообще же jqPuzzle() может принимать два аргумента, первый из которых содержит настройки, а второй – надписи на кнопках. Выглядеть это может вот так:
<script type="text/javascript">
$(document).ready(function(){
var myTexts = {
shuffleLabel: "Перемешать",
toggleOriginalLabel: "Оригинал",
toggleNumbersLabel: "Цифры",
confirmShuffleMessage: "Перемешать?",
movesLabel: "перемещений",
secondsLabel: "секунд"
}
var settings = {
rows: 4,
cols: 4,
hole: 16,
shuffle: false,
numbers: true,
language: en
}
$(".jqPuzzle").jqPuzzle(settings, myTexts);
});
</script>
Что касается стилевого оформления – можно подправить все на свой вкус и цвет, естественно не трогая названий классов.
Согласитесь, прикольная игрушка?
Отзывов (15) на «jQuery Puzzle»
простите, но у меня не получается перемещать пазлы, првоерял в опере 9.51 и FF3
Как насчет вкл./откл. поддержки JavaScript в броузерах? Поддержка должна быть включена.
ещё, возможно, это играет роль, я под линуксом заходил…
фф2 под виндой – таки да, пашет… ( проверил под виртуалкой)
Гы, как только напишу коммент в блоге, у меня тоже работать перестает…. Как только почистишь браузер от сессий – работает….
да и коментарий я написал уже после того, как проверил работоспособность, а не наоборот
просто буквально недавно столкнулся с тем, что одни и те же браузеры ведут себя по-разному в разных осях…
Сурово! У меня под Виндами в Опере 9.24 и в IE6 все прекрасно и без проблем. А вот в FF3.0.1 действительно непонятки….. Под FF2 – нормально.
кхм… вот не знаю, кто тут крайний, но сейчас у меня работает везде
даже в фф3
O_o
кстати, даже после написания комента всё нормально работает в опере… жуть…
думаю, тогда имеет смысл почистить коментарии, давайте сведём всё к моей криворукости и забудем
Классная штука!
А кто-нибудь может подсказать, как можно внедрить вот эту мозайку. Я почему-то не догнал. Где там JS файлы брать, как подключать
_http://www.bennadel.com/blog/1009-jQuery-Demo-Creating-A-Sliding-Image-Puzzle-Plug-In.htm?&_=0.3996545052124678#comments_24762
Заранее спасибо!
Пример подключения на той же самой странице, вверху, самый первый код, который приведен. Ссылка на загрузку файла внизу, в конце статьи, но перед началом комментариев.
Спасибо! Извините, я наверное со своим тугим английским не смог разобраться.
Вопросик, а как этоп плагин прикрутить к уже существующей галереи картинок php? плиз помогите!!!
что бы из любой картинки можно было складывать пазл?
Оставьте отзыв