Виджет ползункаверсия добавлена: 1.0
Описание: Создаёт виджет ползунка
Описание: Создаёт виджет ползунка
Для добавления ползунка на вашу страницу используйте стандартный элемент ввода с атрибутом type="range". Значение элемента ввода используется для настройки начального положения ползунка, и это значение также заполняет текстовое поле. Установите значения атрибутов min и max, чтобы задать диапазон ползунка. Если необходимо ограничить ввод определёнными приращениями, добавьте атрибут step. Задайте атрибут value, чтобы определить начальное значение. Фреймворк проанализирует эти атрибуты для настройки ползунка.
При перетаскивании ползунка фреймворк будет обновлять значение базового элемента ввода (и наоборот), чтобы они всегда синхронизировались; это гарантирует, что значение будет отправлено вместе с формой.
Установите атрибут for элемента label в соответствии со значением id элемента input, чтобы они были семантически связаны. Можно скрывать метку, если это не нужно в макете страницы, но мы требуем её присутствия в разметке для семантических и доступностных соображений.
Фреймворк найдёт все элементы input с атрибутом type="range" и автоматически преобразует их в ползунок с сопутствующим элементом ввода без необходимости применения атрибута data-role. Чтобы предотвратить автоматическое преобразование элемента ввода в ползунок, добавьте атрибут data-role="none" к элементу ввода.
В этом примере допустимый диапазон составляет от 0 до 100.
<label for="slider-1">Input slider:</label> <input type="range" name="slider-1" id="slider-1" value="60" min="0" max="100">
Ползунок по умолчанию с этими настройками отображается следующим образом:
Ползунок использует фреймворк CSS jQuery Mobile для задания его внешнего вида. Если необходимо задать специфический стиль ползунка, можно использовать следующие имена классов CSS для переопределения или в качестве ключей для опции classes:
ui-slider: Внешний контейнер для ползунка. ui-slider-popup: Элемент всплывающей подсказки в случае, если data-popup-enabled имеет значение true ui-slider-input: Элемент ввода ползунка ui-slider-track: Дорожка ползунка ui-slider-handle: Ручка дорожки ползунка Чтобы принудительно установить ползунок на определённое приращение, добавьте атрибут step к элементу ввода. По умолчанию шаг равен 1, но в этом примере шаг равен 10, а максимальное значение равно 500.
В этом примере допустимый диапазон составляет от 0 до 100.
<label for="slider-1">Input slider:</label> <input type="range" name="slider-1" id="slider-1" value="60" min="0" max="100" step="10">
Это создаст элемент ввода, который устанавливается на приращения по 50. Если значение, введённое в элемент ввода, не соответствует шагу приращения, значение будет сброшено при потере фокуса на ближайшее значение, соответствующее шагу.
Чтобы добавить выделение заполнения на дорожке до положения ползунка, добавьте атрибут data-highlight="true" к элементу ввода. Заполнение использует активный цвет.
<label for="slider-fill">Input slider:</label> <input type="range" name="slider-fill" id="slider-fill" value="60" min="0" max="100" data-highlight="true">
Для более компактной версии, полезной в тулбарах и ограниченном пространстве, добавьте атрибут data-mini="true" к элементу, чтобы создать мини-версию.
<label for="slider-mini">Input slider:</label> <input type="range" name="slider-mini" id="slider-mini" value="25" min="0" max="100" data-highlight="true" data-mini="true">
Это создаст ползунок и соответствующий элемент ввода, которые будут меньше по высоте, чем стандартная версия. Элемент ввода также будет иметь меньший размер текста.
По желанию оберните разметку ползунка в контейнер с классом ui-field-contain, чтобы визуально сгруппировать его в форме. В этом примере атрибут step опущен, чтобы можно было выбрать любое целое число.
Примечание: Атрибут data- data-role="fieldcontain" устарел с версии jQuery Mobile 1.4.0 и будет удален в версии 1.5.0. Используйте класс ui-field-contain вместо него.
<div class="ui-field-contain"> <label for="slider-2">Input slider:</label> <input type="range" name="slider-2" id="slider-2" value="25" min="0" max="100"> </div>
Теперь ползунок отображается так:
Ползунки также реагируют на управляющие клавиши. Клавиши "Стрелка вправо", "Стрелка вверх" и "Page Up" увеличивают значение; клавиши "Стрелка влево", "Стрелка вниз" и "Page Down" уменьшают его. Для перемещения ползунка к минимальному или максимальному значению используйте клавиши "Home" или "End" соответственно.
Этот плагин будет автоматически инициализирован на любой странице, содержащей элемент ввода с атрибутом type="range". Однако при необходимости вы можете напрямую вызвать плагин ползунка для любого селектора, как и любой другой плагин jQuery:
$( "input" ).slider();
Чтобы установить цвет темы для ползунка, добавьте атрибут data-theme к элементу input, который применит тему к элементу ввода, ручке и дорожке. Цвет дорожки можно установить отдельно, добавив атрибут data-track-theme для применения состояния "активно" выбранного цвета.
<div class="ui-field-contain"> <label for="slider-3">Input slider:</label> <input type="range" name="slider-3" id="slider-3" value="25" min="0" max="100" data-theme="b" data-track-theme="a"> </div>
Это создаст ползунок с темой:
Примечание: Функция переключателя-фликера устарела с версии jQuery Mobile 1.4.0. Используйте виджет переключателя-фликера вместо него.
Двоичный переключатель-фликер — это распространённый элемент пользовательского интерфейса на мобильных устройствах, используемый для ввода данных "вкл./выкл." или "истина/ложь". Можно либо перетащить ручку переключателя, как в ползунке, либо нажать на одну из сторон переключателя.
Для создания переключателя-фликера начните с элемента select с двумя вариантами. Первый вариант будет стилизован как выключенное состояние, а второй — как включённое, поэтому напишите свои варианты соответственно.
Установите атрибут for элемента label в соответствии со значением id элемента input, чтобы они были семантически связаны. Можно скрывать метку, если это не нужно в макете страницы, но мы требуем её присутствия в разметке для семантических и доступностных соображений.
<label for="flip-1">Flip switch:</label> <select name="flip-1" id="flip-1" data-role="slider"> <option value="off">Off</option> <option value="on">On</option> </select>
Это создаст базовый переключатель-фликер. По умолчанию стили устанавливают ширину переключателя на 100% родительского контейнера и выстраивают метку на отдельной строке.
Управление масштабируется пропорционально, поэтому для использования более длинных меток можно просто добавить строку CSS, устанавливающую переключателю желаемую ширину. Например, при следующем разметке:
<div class="containing-element">
<label for="flip-min">Flip switch:</label>
<select name="flip-min" id="flip-min" data-role="slider">
<option value="off">Switch Off</option>
<option value="on">Switch On</option>
</select>
</div> .containing-element .ui-slider-switch { width: 9em } приведет к:
Поскольку некоторые стили по умолчанию зависят от fieldcontains, обратите внимание, что вам может потребоваться убедиться, что пользовательские стили применяются к переключателям внутри fieldcontains, используя .ui-field-contain div.ui-slider-switch { width: […]; }.
Для более компактной версии, полезной в тулбарах и ограниченном пространстве, добавьте атрибут data-mini="true" к элементу, чтобы создать мини-версию.
<label for="flip-mini">Flip switch:</label> <select name="flip-mini" id="flip-mini" data-role="slider" data-mini="true"> <option value="off">Off</option> <option value="on">On</option> </select>
Это создаст переключатель-фликер, который будет меньше по высоте, чем стандартная версия, и иметь меньший размер текста.
По желанию оберните разметку переключателя в контейнер с классом ui-field-contain, чтобы визуально сгруппировать его в форме. В этом примере атрибут step опущен, чтобы можно было выбрать любое целое число.
Примечание: Атрибут data- data-role="fieldcontain" устарел с версии jQuery Mobile 1.4.0 и будет удален в версии 1.5.0. Используйте класс ui-field-contain вместо него.
<div class="ui-field-contain">
<label for="flip-2">Flip switch:</label>
<select name="flip-2" id="flip-2" data-role="slider" data-mini="true">
<option value="off">Off</option>
<option value="on">On</option>
</select>
</div> Теперь переключатель-фликер отображается так:
Как и все элементы формы, этот виджет автоматически наследует тему от своего родительского контейнера. Чтобы выбрать определённый цвет темы, укажите атрибут data-theme на select и укажите букву цвета.
<div class="ui-field-contain">
<label for="flip-3">Flip switch:</label>
<select name="flip-3" id="flip-3" data-role="slider" data-theme="b">
<option value="no">No</option>
<option value="yes">Yes</option>
</select>
</div> В результате получается переключатель с цветами цвета "b" для ручки. Обратите внимание, что левая "включённая" часть получает цвет активного состояния.
Вот вариант с цветом "a":
Также можно стилизовать дорожку переключателя-фликера, добавив атрибут data-track-theme и указав выбранную букву цвета на select.
Вот пример переключателя-фликера с цветом "a" для дорожки и цветом "c" для ручки:
<div class="ui-field-contain">
<label for="flip-5">Flip switch:</label>
<select name="flip-5" id="flip-5" data-role="slider" data-theme="a" data-track-theme="b">
<option value="no">No</option>
<option value="yes">Yes</option>
</select>
</div> Этот плагин будет автоматически инициализирован на любой странице, содержащей элемент ввода с атрибутом type="slider". Однако при необходимости вы можете напрямую вызвать плагин ползунка для любого селектора, как и любой другой плагин jQuery:
$( "input" ).slider();
Как и все элементы формы, этот виджет автоматически наследует тему от своего родительского контейнера. Чтобы выбрать определённый цвет темы, укажите атрибут data-theme на select и укажите букву цвета.
<div class="ui-field-contain">
<label for="flip-3">Flip switch:</label>
<select name="flip-3" id="flip-3" data-role="slider" data-theme="a">
<option value="no">No</option>
<option value="yes">Yes</option>
</select>
</div> В результате получается переключатель с цветами цвета "a" для ручки. Обратите внимание, что левая "включённая" часть получает цвет активного состояния.
Также можно стилизовать дорожку переключателя-фликера, добавив атрибут data-track-theme и указав выбранную букву цвета на select.
Вот пример переключателя-фликера с цветом "a" для дорожки и цветом "c" для ручки:
<div class="ui-field-contain">
<label for="flip-5">Flip switch:</label>
<select name="flip-5" id="flip-5" data-role="slider" data-theme="a" data-track-theme="b">
<option value="no">No</option>
<option value="yes">Yes</option>
</select>
</div> {
"ui-slider-track": "ui-shadow-inset ui-corner-all",
"ui-slider-input": "ui-shadow-inset ui-corner-all"
} Укажите дополнительные классы, которые нужно добавить к элементам виджета. Любой из классов, указанных в разделе Темы, может использоваться в качестве ключей для переопределения их значений. Чтобы узнать больше об этом параметре, ознакомьтесь со статьей о параметре classes.
Инициализируйте ползунок с заданным параметром classes, изменяя тему для класса ui-slider:
$( ".selector" ).slider({
classes: {
"ui-slider": "highlight"
}
}); Получите или установите свойство параметра classes, после инициализации, здесь читаем и изменяем тему для класса ui-slider:
// Getter var themeClass = $( ".selector" ).slider( "option", "classes.ui-slider" ); // Setter $( ".selector" ).slider( "option", "classes.ui-slider", "highlight" );
false true указывает, что другие параметры виджета имеют значения по умолчанию, и приводит к тому, что код автоматического улучшения виджетов jQuery Mobile пропускает этап, на котором он извлекает значения параметров из атрибутов данных. Это может улучшить время запуска. Этот параметр также доступен в виде атрибута данных: data-defaults="true".
Инициализируйте ползунок с заданным параметром defaults:
$( ".selector" ).slider({
defaults: true
}); Получите или установите параметр defaults, после инициализации:
// Getter var defaults = $( ".selector" ).slider( "option", "defaults" ); // Setter $( ".selector" ).slider( "option", "defaults", true );
false true. Этот параметр также доступен в виде атрибута данных: data-disabled="true".
Инициализируйте ползунок с заданным параметром disabled:
$( ".selector" ).slider({
disabled: true
}); Получите или установите параметр disabled, после инициализации:
// Getter var disabled = $( ".selector" ).slider( "option", "disabled" ); // Setter $( ".selector" ).slider( "option", "disabled", true );
false Инициализируйте ползунок с заданным параметром highlight:
$( ".selector" ).slider({
highlight: true
}); Получите или установите параметр highlight, после инициализации:
// Getter var highlight = $( ".selector" ).slider( "option", "highlight" ); // Setter $( ".selector" ).slider( "option", "highlight", true );
See below Значение по умолчанию initSelector для виджета ползунка:
"input[type='range'], :jqmData(type='range'), :jqmData(role='slider')"
Примечание: Этот параметр устарел в версии 1.4.0 и будет удален в версии 1.5.0.
Начиная с jQuery Mobile 1.4.0, параметр initSelector больше не является параметром виджета. Вместо этого он объявлен непосредственно в прототипе виджета. Таким образом, вы можете указать пользовательское значение, обработав событие mobileinit и переопределив initSelector в прототипе:
$( document ).on( "mobileinit", function() {
$.mobile.slider.prototype.initSelector = "div.custom";
}); Примечание: Не забудьте прикрепить обработчик mobileinit после загрузки jQuery, но перед загрузкой jQuery Mobile, так как событие срабатывает в процессе загрузки jQuery Mobile.
Значение этого параметра — строка селектора jQuery. Фреймворк выбирает элементы на основе значения этого параметра и создает виджеты ползунка для каждого элемента в полученном списке.
(версия устарела: 1.4.0)null (false) true, это отобразит более компактную версию ползунка, которая использует меньше вертикальной высоты, применяя класс ui-mini к самому внешнему элементу виджета ползунка. Примечание: параметр mini устарел в версии 1.5 и будет удален в версии 1.6
Этот параметр также доступен в виде атрибута данных: data-mini="true".
null, inherited from parent Возможные значения: буква палитры (a-z).
Этот параметр также доступен в виде атрибута данных: data-theme="b".
Инициализируйте ползунок с заданным параметром theme:
$( ".selector" ).slider({
theme: "b"
}); Получите или установите параметр theme, после инициализации:
// Getter var theme = $( ".selector" ).slider( "option", "theme" ); // Setter $( ".selector" ).slider( "option", "theme", "b" );
null, inherited from parent Возможные значения: буква палитры (a-z).
Этот параметр может быть переопределён в разметке, назначив атрибут данных элементу, например data-track-theme="a".
Инициализируйте ползунок с заданным параметром trackTheme:
$( ".selector" ).slider({
trackTheme: "a"
}); Получите или установите параметр trackTheme, после инициализации:
// Getter var trackTheme = $( ".selector" ).slider( "option", "trackTheme" ); // Setter $( ".selector" ).slider( "option", "trackTheme", "a" );
Вызовите метод destroy:
$( ".selector" ).slider( "destroy" );
Вызовите метод disable:
$( ".selector" ).slider( "disable" );
Вызовите метод enable:
$( ".selector" ).slider( "enable" );
optionName.Вызовите метод:
var isDisabled = $( ".selector" ).slider( "option", "disabled" );
Вызовите метод:
var options = $( ".selector" ).slider( "option" );
optionName.Вызовите метод:
$( ".selector" ).slider( "option", "disabled", true );
Вызовите метод:
$( ".selector" ).slider( "option", { disabled: true } ); Если вы манипулируете ползунком через JavaScript, вы должны вызвать метод refresh на нём, чтобы обновить визуальное стилирование.
Вызовите метод refresh:
$( ".selector" ).slider( "refresh" );
slidecreate Примечание: Объект ui пуст, но включён для согласованности с другими событиями.
Инициализируйте ползунок с заданным обратным вызовом create:
$( ".selector" ).slider({
create: function( event, ui ) {}
}); Привяжите обработчик событий к событию slidecreate:
$( ".selector" ).on( "slidecreate", function( event, ui ) {} ); slidestart Примечание: Объект ui пуст, но включён для согласованности с другими событиями.
Инициализируйте ползунок с заданным обратным вызовом start:
$( ".selector" ).slider({
start: function( event, ui ) {}
}); Привяжите обработчик событий к событию slidestart:
$( ".selector" ).on( "slidestart", function( event, ui ) {} ); slidestop Примечание: Объект ui пуст, но включён для согласованности с другими событиями.
Инициализируйте ползунок с заданным обратным вызовом stop:
$( ".selector" ).slider({
stop: function( event, ui ) {}
}); Привяжите обработчик событий к событию slidestop:
$( ".selector" ).on( "slidestop", function( event, ui ) {} ); Базовый пример ползунка.
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>slider demo</title>
<link rel="stylesheet" href="//code.jquery.com/mobile/1.4.5/jquery.mobile-1.4.5.min.css">
<script src="//code.jquery.com/jquery-1.10.2.min.js"></script>
<script src="//code.jquery.com/mobile/1.4.5/jquery.mobile-1.4.5.min.js"></script>
</head>
<body>
<div data-role="header">
<h1>jQuery Mobile Example</h1>
</div>
<div role="main" class="ui-content">
<label for="slider-0">Input slider:</label>
<input type="range" name="slider-0" id="slider-0" value="60" min="0" max="100">
</div>
</body>
</html> Базовый пример переключателя flip toggle.
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>slider demo</title>
<link rel="stylesheet" href="//code.jquery.com/mobile/1.4.5/jquery.mobile-1.4.5.min.css">
<script src="//code.jquery.com/jquery-1.10.2.min.js"></script>
<script src="//code.jquery.com/mobile/1.4.5/jquery.mobile-1.4.5.min.js"></script>
</head>
<body>
<div data-role="page" id="page1">
<div data-role="header">
<h1>jQuery Mobile Example</h1>
</div>
<div role="main" class="ui-content">
<label for="flip-0">Select slider:</label>
<select name="flip-0" id="flip-0" data-role="slider">
<option value="off">Off</option>
<option value="on">On</option>
</select>
</div>
</div>
</body>
</html>
© The jQuery Foundation and other contributors
Licensed under the MIT License.
https://api.jquerymobile.com/slider
|
|