Стильная страница установок
В данном уроке мы разберемся, как сделать стильную страницу для установок вашего проекта в составе инструментов администратора. Для создания такой страницы используется библиотека jQuery mobile.
Шаг 1. Разметка HTML
Для использования jQuery mobile нужно присоединить данную библиотеку и ее стили к нашей странице:
<!-- Стили --> <link href="/css/main.css" rel="stylesheet" type="text/css" /> <link rel="stylesheet" href="/jquery.mobile/jquery.mobile-1.1.1.min.css" /> <!-- Скрипты --> <script src="http://code.jquery.com/jquery-1.7.1.min.js"></script> <script src="/jquery.mobile/jquery.mobile-1.1.1.min.js"></script>
Теперь сделаем разметку HTML нашей формы:
<form action="index.php" method="post" data-ajax="false"> <div class="ui-body ui-body-c"> <h2>Создаем стильную страницу установк</h2> <!-- Поля ввода текста --> <div data-role="fieldcontain"> <label for="text-p-1">Параметр 1:</label> <input type="text" name="text-p-1" id="text-p-1" value="" data-mini="true" /> </div> <div data-role="fieldcontain"> <label for="text-p-2">Параметр 2:</label> <input type="text" name="text-p-2" id="text-p-2" value="" data-mini="true" /> </div> <!-- Основные установки --> <div data-role="fieldcontain"> <label for="basic_settings">Показать основные установки:</label> <select name="basic_settings" id="basic_settings" data-role="slider" data-mini="true"> <option value="off">Выкл</option> <option value="on">Вкл</option> </select> </div> <!-- Основные установки - скрытая секция --> <div class="ui-body ui-body-c hidden_basic_settings" style="display:none"> <!-- Поля ввода текста --> <div data-role="fieldcontain"> <label for="text-1">Поле для текста 1:</label> <input type="text" name="text-1" id="text-1" value="" data-mini="true" /> </div> <div data-role="fieldcontain"> <label for="text-2">Поле для текста 2:</label> <input type="text" name="text-2" id="text-2" value="" data-mini="true" /> </div> <!-- Переключатель --> <div data-role="fieldcontain"> <label for="switch">Переключатель:</label> <select name="switch" id="switch" data-role="slider" data-mini="true"> <option value="off">Выкл</option> <option value="on">Вкл</option> </select> </div> <!-- Слайдер --> <div data-role="fieldcontain"> <label for="slider">Слайдер:</label> <input type="range" name="slider" id="slider" value="0" min="0" max="100" data-mini="true" /> </div> </div> <!-- Расширенные установки --> <div data-role="fieldcontain"> <label for="advanced_settings">Показать расширенные установки:</label> <select name="advanced_settings" id="advanced_settings" data-role="slider" data-mini="true"> <option value="off">Выкл</option> <option value="on">Вкл</option> </select> </div> <!-- Расширенные установки скрытая секция --> <div class="ui-body ui-body-c hidden_advanced_settings" style="display:none"> <!-- Несколько чекбоксов --> <div data-role="fieldcontain"> <fieldset data-role="controlgroup" data-type="horizontal" data-mini="true"> <legend>Несколько чекбоксов:</legend> <input type="checkbox" name="checkbox-1" id="checkbox-1" class="custom" /> <label for="checkbox-1">Чекбокс 1</label> <input type="checkbox" name="checkbox-2" id="checkbox-2" class="custom" /> <label for="checkbox-2">Чекбокс 2</label> <input type="checkbox" name="checkbox-3" id="checkbox-3" class="custom" /> <label for="checkbox-3">Чекбокс 3</label> </fieldset> </div> <!-- Радио кнопки --> <div data-role="fieldcontain"> <fieldset data-role="controlgroup" data-mini="true"> <legend>Радиокнопки:</legend> <input type="radio" name="radio-1" id="radio-1" value="1" /> <label for="radio-1">Кнопка 1</label> <input type="radio" name="radio-1" id="radio-2" value="2" /> <label for="radio-2">Кнопка 2</label> <input type="radio" name="radio-1" id="radio-3" value="3" /> <label for="radio-3">Кнопка 3</label> <input type="radio" name="radio-1" id="radio-4" value="4" /> <label for="radio-4">Кнопка 4</label> </fieldset> </div> <!-- Селектор --> <div data-role="fieldcontain"> <label for="select" class="select">Селектор:</label> <select name="select" id="select" data-native-menu="false" data-mini="true"> <option value="value1">Опция 1</option> <option value="value2">Опция 2</option> <option value="value3">Опция 3</option> <option value="value4">Опция 4</option> <option value="value5">Опция 5</option> </select> </div> </div> <!-- Кнопки --> <fieldset class="ui-grid-a"> <div class="ui-block-a"><button type="submit" data-theme="b" data-mini="true">Отправить</button></div> <div class="ui-block-b"><button type="cancel" data-theme="c" data-mini="true">Сбросить</button></div> </fieldset> </div> </form>
Здесь используются: поля для ввода текста, селекторы, переключатели, чекбоксы, радиокнопки и обычные кнопки. Все опции поделены на два раздела - открытый и скрытый. Оба раздела по умолчанию невидимы (используется свойство display:none). Для изменения видимости используется переключатель Для его работы требуется JavaScript код.
Шаг 2. JavaScript
$(document).ready(function() { $('#basic_settings').change(function(event, ui) { if ($(this).attr('value') == 'on') { $('.hidden_basic_settings').slideDown(500); } else { $('.hidden_basic_settings').slideUp(500); } }); $('#advanced_settings').change(function(event, ui) { if ($(this).attr('value') == 'on') { $('.hidden_advanced_settings').slideDown(500); } else { $('.hidden_advanced_settings').slideUp(500); } }); });
Готово! Очень просто получить отличный результат.
Источник: http://feedproxy.google.com/~r/ruseller/CdHX/~3/IafCTQw-4Ts/lessons.php
Дайджест новых статей по интернет-маркетингу на ваш email
Новые статьи и публикации
- 2024-09-30 » Как быстро запустить Laravel на Windows
- 2024-09-25 » Next.js
- 2024-09-05 » OpenAI рассказал, как запретить ChatGPT использовать содержимое сайта для обучения
- 2024-08-28 » Чек-лист: как увеличить конверсию интернет-магазина на примере спортпита
- 2024-08-01 » WebSocket
- 2024-07-26 » Интеграция с Яндекс Еда
- 2024-07-26 » Интеграция с Эквайринг
- 2024-07-26 » Интеграция с СДЕК
- 2024-07-26 » Интеграция с Битрикс-24
- 2024-07-26 » Интеграция с Travelline
- 2024-07-26 » Интеграция с Iiko
- 2024-07-26 » Интеграция с Delivery Club
- 2024-07-26 » Интеграция с CRM
- 2024-07-26 » Интеграция с 1C-Бухгалтерия
- 2024-07-24 » Что такое сторителлинг: техники и примеры
- 2024-07-17 » Ошибка 404: что это такое и как ее использовать для бизнеса
- 2024-07-03 » Размещайте прайс-листы на FarPost.ru и продавайте товары быстро и выгодно
- 2024-07-01 » Профилирование кода в PHP
- 2024-06-28 » Изучаем ABC/XYZ-анализ: что это такое и какие решения с помощью него принимают
- 2024-06-17 » Зачем вам знать потребности клиента
- 2024-06-11 » Что нового в работе Яндекс Метрики: полный обзор обновления
- 2024-06-11 » Поведенческие факторы ранжирования в Яндексе
- 2024-06-11 » Скорость загрузки сайта: почему это важно и как влияет на ранжирование
- 2024-05-27 » Подборка сервисов для расшифровки аудио в текст
- 2024-05-27 » PostgreSQL 16. Изоляция транзакций. Часть 2
- 2024-05-06 » Как настраивать конверсионные стратегии: работа над ошибками
- 2024-04-22 » Комментирование кода и генерация документации в PHP
- 2024-04-22 » SEO в России и на Западе: в чем основные отличия
- 2024-04-22 » SEO для международного масштабирования
- 2024-04-22 » Как использовать XML-карты для продвижения сайта
Полезнее знать несколько мудрых правил, которые всегда могли бы служить тебе, чем выучиться многим вещам, для тебя бесполезным Сенека Луций Анней - (1 до н. э. / 1 н. э.- 65 н. э.) - римский государственный деятель, писатель, философ |
Мы создаем сайты, которые работают! Профессионально обслуживаем и продвигаем их , а также по всей России и ближнему зарубежью с 2006 года!
Как мы работаем
Заявка
Позвоните или оставьте заявку на сайте.
Консультация
Обсуждаем что именно Вам нужно и помогаем определить как это лучше сделать!
Договор
Заключаем договор на оказание услуг, в котором прописаны условия и обязанности обеих сторон.
Выполнение работ
Непосредственно оказание требующихся услуг и работ по вашему заданию.
Поддержка
Сдача выполненых работ, последующие корректировки и поддержка при необходимости.