Ползунок с переменным шагом
Добрый день, помогите сделать слайдер (ползунок) первое значение 0, второе - 100 000, третье - 300 000, четвёртое - 750 000, пятое - 1 500 000, шестое - 3 000 000. Ползунок должен быть плавным. Все шесть значений находятся на одинаковом расстоянии друг от друга. Ответ выводится в поле input.
|
CRYSIS_STALKER,
и в чём сложность? |
Тебе просто нужно изменить линейное значение в соответствии с определенной функцией
страница готовых рецептов http://learn.javascript.ru/js-animation |
В том что по умолчанию получается линейная зависимость, а необходимо чтобы 1 500 000 было ближе к 3 000 000. Т.е. у меня получается я навожу на 1 500 000 - а в input выводится 2 400 000
|
1. получаешь линейное значение
2. Применяешь функцию к линейному значению 3. Получаешь результат работы функции в виде не линейного значения 4. Используешь полученный результат где тебе нужно |
CRYSIS_STALKER,
это можно превратить в то что вам требуется http://jqueryui.com/slider/#hotelrooms за ... минут |
Я не разобрался, вот код. Нужно чтобы по мере продвижения бегунка значение шага менялось в 4 точках. Например: движется бегунок и через 2 см шаг увеличился.
<script> $("#slider-range").slider({ range: "min", min: 0, max: 3000000, value: 1000, step: 10000, slide: function( event, ui ) { $( "#amount" ).val( "" + ui.value + "" ); } }); $( "#amount" ).val( "" + $( "#slider-range" ).slider( "value" )); </script> |
CRYSIS_STALKER,
подсказка min: 0, max: 5, value: 1, step: 1, |
CRYSIS_STALKER,
конечно если я вас правильно понимаю и вам нужны всего 6 значений |
CRYSIS_STALKER,
:write: <!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <title>jQuery UI Slider - Slider bound to select</title> <link rel="stylesheet" href="http://code.jquery.com/ui/1.11.0/themes/smoothness/jquery-ui.css"> <script src="http://code.jquery.com/jquery-1.10.2.js"></script> <script src="http://code.jquery.com/ui/1.11.0/jquery-ui.js"></script> <style type="text/css"> #slider{ width: 500px; margin: 20px; } </style> <script> $(function() { var arr = [0,100000,300000,750000,1500000,3000000]; var input = $( "#minbeds" ); var slider = $( "<div id='slider'></div>" ).insertAfter( input ).slider({ min: 0, max: 5, range: "min", animate: true , change: function( event, ui ) { input.val(arr[ui.value]) ; }, slide: function( event, ui ) { input.val(arr[ui.value]) ; } }); slider.slider( "option", "value", 2 ); }); </script> </head> <body> <form id="reservation"> <label for="minbeds">$</label> <input name="minbeds" id="minbeds"> </form> </body> </html> |
Часовой пояс GMT +3, время: 09:32. |