Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 06.01.2014, 13:44
Новичок на форуме
Отправить личное сообщение для MrNSky Посмотреть профиль Найти все сообщения от MrNSky
 
Регистрация: 06.01.2014
Сообщений: 6

Превратить input type button в ползунок
Здравствуйте, у меня вот такая проблема. Я нашел очень неплохой плеер (главное простой) ссылка и примеил его на своем сайте. Там управление плеером через яваскрипт (onclick события). Так вот неустраивает лишь один минус там уровни громкости описаны в виде кнопок input, я вот хочу чтобы это был ползунок. Но за неимением знаний по js незнаю как это сделать. Я ваще в js ноль. Помогите пожалуйста справится с задачей. У меня сайт сам на Jquery в основном работает чтоб и конфликтов небыло бы. Заране спасибо всем кто ответит. Жду.
Ответить с цитированием
  #2 (permalink)  
Старый 06.01.2014, 16:53
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Есть замечательный html-элемент:
<input type="range" min="0" max="100" value="100" id="volume"  oninput="this.labels[0].textContent = this.value" onchange="this.oninput()" />
<label for="volume">100</label>


Однако он из HTML5 и не поддерживается старыми браузерами (плюс со стилизацией проблема). Если это проблема, то можно подключить например такую штуку: http://refreshless.com/nouislider/ или jquery.ui
__________________
В личку только с интересными предложениями
Ответить с цитированием
  #3 (permalink)  
Старый 06.01.2014, 21:24
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,121

где найти информацию по
Сообщение от danik.js
labels
?
Ответить с цитированием
  #4 (permalink)  
Старый 06.01.2014, 23:31
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

whatwg.org - там всё должно быть. Mozilla Developer Network - тоже полезный ресурс. Ищи сам в общем.
__________________
В личку только с интересными предложениями
Ответить с цитированием
  #5 (permalink)  
Старый 06.01.2014, 23:51
Новичок на форуме
Отправить личное сообщение для MrNSky Посмотреть профиль Найти все сообщения от MrNSky
 
Регистрация: 06.01.2014
Сообщений: 6

Сообщение от danik.js Посмотреть сообщение
Есть замечательный html-элемент:
<input type="range" min="0" max="100" value="100" id="volume"  oninput="this.labels[0].textContent = this.value" onchange="this.oninput()" />
<label for="volume">100</label>


Однако он из HTML5 и не поддерживается старыми браузерами (плюс со стилизацией проблема). Если это проблема, то можно подключить например такую штуку: http://refreshless.com/nouislider/ или jquery.ui
Тык я не пойму где там применить onclick от плеера
onclick="uppodSend('player','v50')" и как

<input type="range" min="0" max="100" value="100" id="volume"  oninput="this.labels[0].textContent = this.value" onchange="this.oninput()" onclick="uppodSend('player','v100')" />
<label for="volume">100</label>
Так?

Последний раз редактировалось MrNSky, 06.01.2014 в 23:54.
Ответить с цитированием
  #6 (permalink)  
Старый 06.01.2014, 23:54
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Дык не по клику должна громкость меняться а по изменению значения (onchange). Но в большинстве браузеров onchange событие происходит только когда отпускаешь ползунок. Зато срабатывает oninput. Так что вешать надо на onchange , а на oninput вызывать вручную через вызов this.onchange(). Ну или наоборот (как в примере у меня).
__________________
В личку только с интересными предложениями
Ответить с цитированием
  #7 (permalink)  
Старый 06.01.2014, 23:58
Новичок на форуме
Отправить личное сообщение для MrNSky Посмотреть профиль Найти все сообщения от MrNSky
 
Регистрация: 06.01.2014
Сообщений: 6

то что в онклике было нужно в один их этих параметров засунуть?
Ответить с цитированием
  #8 (permalink)  
Старый 07.01.2014, 00:07
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,121

danik.js,
вы то сами как узнали что есть this.labels? или это только для Google Chrome
Ответить с цитированием
  #9 (permalink)  
Старый 07.01.2014, 06:48
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

рони, ты прав. Это HTML5 фича, реализована только в хроме и старой опере.
Спецификация http://www.whatwg.org/specs/web-apps...dom-lfe-labels

Баг на багтреккере файрфокса: https://bugzilla.mozilla.org/show_bug.cgi?id=556743
__________________
В личку только с интересными предложениями
Ответить с цитированием
  #10 (permalink)  
Старый 07.01.2014, 06:55
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Сообщение от рони
вы то сами как узнали что есть this.labels?
В отладчике увидел.
__________________
В личку только с интересными предложениями
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
При добавлении DOCTYPE "плывут" размеры input type=text Demath (X)HTML/CSS 4 08.07.2012 19:27
Что делаю не так? Javascript + Radio button + Input dmonco Элементы интерфейса 3 19.05.2012 16:22
extjs 4 mvc, разбираемся с model & store Lord Daedra ExtJS 1 18.08.2011 22:36
Изменение input type в IE Aljnk Общие вопросы Javascript 4 03.05.2011 18:37
в теге input изменение атрибута type gabber Internet Explorer 6 11.11.2008 13:01