Главная » Файлы » Прочие скрипты » jQuery |
jBox - уникальный плагин подсказок, уведомлений, модальных окон и галереи на jQuery
[ Скачать с сервера (69.1 Kb) ] | 30.12.14, 01:20:16 |
Просто незаменимый, суперудобный и очень мощный плагин jBox позволит создавать как простые, так и очень сложные подсказки, подтверждалки, модальные окна и даже мини-галереи изображений + подключать различные звуковые сопровождения для событий. У меня даже в голове с трудом укладывается, как смог автор запихнуть в один компактный код столько всего! Для начала посмотрите ДЕМО Моё тестирование в фидле: КЛИК Установка: Внимание! Для корректной работы плагина требуется jQuery версии 1.8.3 и выше После < /head > на нужных страницах вставляйте: Код <link rel="stylesheet" type="text/css" href="/css/jBox.css"> <script type='text/javascript' src="/js/jBox.min.js"></script> <link rel="stylesheet" type="text/css" href="/css/ModalBorder.css"> <link rel="stylesheet" type="text/css" href="/css/NoticeBorder.css"> <link rel="stylesheet" type="text/css" href="/css/TooltipBorder.css"> <link rel="stylesheet" type="text/css" href="/css/TooltipDark.css"> Давайте теперь разберёмся, как работать с отдельными компонентами 1. Обычная подсказка со всеми возможными настройками: Код <a href="#" class="apotitle2" newcontent="Перейти на APO-UCOZ: <a href='http://apo-ucoz.com' target='blank'>Клик</a>" newtitle="Заголовок из тег newtitle">Использование опций</a> <script> $('.apotitle2').jBox('Tooltip', { id: 'apoid', // Уникальный ID блока с подсказкой width: 300, // Фиксированная ширина подсказки height: 100, // Фиксированная высота подсказки maxWidth: 400, // Максимальная ширина подсказки maxHeight: 150, // Максимальная высота подсказки trigger: 'click', // Открывать при клике или наведении (click, mouseenter) preventDefault: 1, // Запрет взаимодействия со ссылками внутри подсказки title: 'Это заголовок подсказки, если не указан атрибут, из которого брать содержимое', content: 'Это текст на тот случай, если не указан атрибут, из которого брать содержимое', getTitle: 'newtitle', // Из какого атрибута брать заголовок для подсказки getContent: 'newcontent', // Из какого атрибута брать текст для подсказки target: $('.apotitle2'), // Для какого элемента вывести подсказку position: { x: 'right', // Позиция вывода по оси x (left, right, middle) y: 'bottom', // Позиция вывода по оси y (top, bottom, middle) }, offset: { x: 10, // Сдвиг подсказки по оси x y: -5 // Сдвиг подсказки по оси y }, fixed: 0, // Фиксированная или статичная подсказка (0, 1) reposition: 0, // Перестраивать позицию подсказки при изменении размера экрана (0, 1) repositionOnOpen: 0, // Перестраивать позицию подсказки при первом открытии (0, 1) repositionOnContent: 0, // Перестраивать позицию подсказки при изменении содержимого подсказки (0, 1) fade: 1, // Использовать ли эффект плавного появления и угасания (0, 1) animation: 'flip', // Тип анимации (zoomIn, zoomOut, pulse, move, slide, flip, tada) theme: 'TooltipBorder', // Цветовая схема подсказки (ModalBorder, NoticeBorder, TooltipBorder, TooltipDark) addClass: 'newclass', // Добавление своего класса к подсказке overlay: 0, // Добавление оверлея к подсказке (0, 1) zIndex: 999, // Указываем свой z-index (0, 9999999999...) delayOpen: 500, // Задержка перед открытием delayClose: 1000, // Задержка перед закрытием closeOnEsc: 1, // Закрывать ли при нажатии клавиши ECS closeOnClick: true, // При каком событии закрывать подсказку (overlay - клик по оверлею, box - по самой подсказке, body - клик где угодно, кроме самой подсказки, true - клик в любом месте на странице closeOnMouseleave: 0, // Закытие при отводе курсора с подсказки (0, 1) closeButton: 'box', // Тип закрытия (box - кнопка, title - по заголовку, overlay - по оверлею) constructOnInit: 0, // Формировать код при инициализации (0, 1) blockScroll: 1, // Убирать прокрутку body при вызове подсказки (0, 1) draggable: 'title', // Возможность перемещать (0, 1, title - за заголовок, jQuery selector - указать свой jQuery объект ($('.class')) dragOver: 1, // Если есть другие перемещаемые объекты - отодвигать их onInit: function() { console.log('Подсказка инициализирована'); // Событие при инициализации }, onCreated: function() { console.log('Подсказка создана в body'); // Событие при формировании html кода подсказки }, onOpen: function() { console.log('Подсказка открыта'); // Событие при открытии подсказки }, onClose: function() { console.log('Подсказка закрывается'); // Событие перед закрытием подсказки }, onCloseComplete: function() { console.log('Подсказка полностью закрыта'); // Событие при полном закрытии подсказки } }); </script> 2. Уведмлялка со всеми возможными настройками: Код <script> new jBox('Notice', { content: 'Расширенное использование', // Вы можете использовать почти все опции, что перечислены для Tooltip элемента выше width: 300, // Ширина height: 100, // Высота animation: 'tada', // Тип анимации autoClose: 5000, // Автозакрытие через 5 сек (0 - 999999, false) color: 'red', // Цвет подсказки (black, red, green, blue, yellow) stack: 1, // Выстраивать подсказки друг под другом или нет (0, 1) audio: 'http://imapo.ru/css/bling1', // Ссылка на аудиофайл (Залейте в mp3 и ogg форматах) volume: 17 // Громкость звука (0 - 100) }); </script> 3. Модальное окно со всеми возможными опциями: Код <script> var apoModal2 = new jBox('Modal', { // Можно использовать почти все опции Tooltip draggable: 'title', // Возможность перемещать (0, 1, title - за заголовок, jQuery selector - указать свой jQuery объект ($('.class')) title: 'Заголовок модального окна', // Заголовок content: 'Расширенное использование использование', // Можно использовать почти все опции Tooltip blockScroll: 0 // Не убираем прокрутку body }); apoModal2.setWidth(500); // Задать ширину окна apoModal2.setHeight(200); // Задать высоту окна apoModal2.setTitle('Новый титульник'); // Новый заголовок apoModal2.setContent('Новый контент'); // Новый контент apoModal2.open(); // Открытие окна apoModal2.audio({ url: 'http://imapo.ru/css/bling1' // Подключение звука }); // apoModal2.close() - Закрытие окна // apoModal2.toggle() - Если закрыто - откроет окно и наоборот // apoModal2.disable() - Отключить окно // apoModal2.enable() - Активировать окно // apoModal2.destroy() - Удалиить окно </script> 4. Окна - подтверждалки: Код <a href="#" id="apoconfirm">Использование окон-подтверждалок</a> <script> new jBox('Confirm', { // Можно использовать почти все опции Tooltip blockScroll: 0, // Не убираем прокрутку body content: 'Нравится jBox?', // Текст вопроса confirmButton: 'Да', // Текст кнопки "Да" cancelButton: 'Неа', // Текст кнопки "Нет" attach: $('#apoconfirm'), // При клике по какому элементу открывать confirm: function() { alert('Здорово! Я тоже от них в восторге!'); // Функция при клике по "Да" }, cancel: function() { alert('Жаль. Плагин здоровский...'); // Функция при клике по "Нет" } }); </script> 5. Простая галерея картинок: Код <a href="http://imapo.ru/img/x_d2a6ad91.jpg" title="My title 1" data-jbox-image="gallery1"><img src="http://imapo.ru/img/x_d2a6ad91.jpg"></a> <a href="http://imapo.ru/img/x_eefc1cea.jpg" title="My title 2" data-jbox-image="gallery1"><img src="http://imapo.ru/img/x_eefc1cea.jpg" alt=""></a> <a href="http://imapo.ru/img/x_f55b7b4d.jpg" title="My title 3" data-jbox-image="gallery1"><img src="http://imapo.ru/img/x_f55b7b4d.jpg" alt=""></a> <script> new jBox('Image', { src: 'href', // С какого атрибута брать ссылку на картинку (href) gallery: 'data-jbox-image', // Какой класс должен быть у ссылок на картинки (data-jbox-image) imageLabel: 'title', // Из какого атрибута брать описание (title) imageFade: 500, // Скорость плавной смены картинок imageSize: 'cover' // Тип масштабирования картинки при увеличении (cover, contain, auto, число) }) </script> Скрипт из прикреплённого архива залейте в папку js, пять файлов стилей в папку css. Аудиофайлы используйте по мере необходимости. Папка с ними также лежит в архиве В пяти примерах я максимально возможно расписал и пояснил все доступные опции, но это не значит, что вы каждый раз обязаны прописывать их все. Даже если вы вызовите подсказку методом $('.class').jBox('Tooltip') - плагин обработает элементы с классом class, но все опции будут в стандартном состоянии Если Вам, к примеру, нужна всего пара опций - просто прописывайте их так: $('.class').jBox('Tooltip', {id: 'apoid', overlay:1}) Практически все опции, описанные для Tooltip, работают и на всех остальных примочках плагина (Модальное окно, Уведомлялка, Подтверждалка, Галерея). Экспериментируйте, дерзайте. Больше опций, демо и способов применения вы найдёте на сайте jBox, который я указал в самом начале статьи Если у вас возникнут вопросы - задавайте их в комментариях Автор русификации и тестирования всех опций - Apocalypse Специально для apo-ucoz © 2014 | |
Просмотров: 1078 | Загрузок: 299 | |
Всего комментариев: 0 | |
| |