10.07.2014, 18:46
|
Интересующийся
|
|
Регистрация: 19.03.2014
Сообщений: 10
|
|
Ползунок с переменным шагом
Добрый день, помогите сделать слайдер (ползунок) первое значение 0, второе - 100 000, третье - 300 000, четвёртое - 750 000, пятое - 1 500 000, шестое - 3 000 000. Ползунок должен быть плавным. Все шесть значений находятся на одинаковом расстоянии друг от друга. Ответ выводится в поле input.
|
|
10.07.2014, 19:33
|
|
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,132
|
|
CRYSIS_STALKER,
и в чём сложность?
|
|
10.07.2014, 19:38
|
|
Профессор
|
|
Регистрация: 07.03.2011
Сообщений: 1,138
|
|
Тебе просто нужно изменить линейное значение в соответствии с определенной функцией
страница готовых рецептов http://learn.javascript.ru/js-animation
|
|
10.07.2014, 19:40
|
Интересующийся
|
|
Регистрация: 19.03.2014
Сообщений: 10
|
|
В том что по умолчанию получается линейная зависимость, а необходимо чтобы 1 500 000 было ближе к 3 000 000. Т.е. у меня получается я навожу на 1 500 000 - а в input выводится 2 400 000
|
|
10.07.2014, 19:46
|
|
Профессор
|
|
Регистрация: 07.03.2011
Сообщений: 1,138
|
|
1. получаешь линейное значение
2. Применяешь функцию к линейному значению
3. Получаешь результат работы функции в виде не линейного значения
4. Используешь полученный результат где тебе нужно
|
|
11.07.2014, 11:29
|
Интересующийся
|
|
Регистрация: 19.03.2014
Сообщений: 10
|
|
Я не разобрался, вот код. Нужно чтобы по мере продвижения бегунка значение шага менялось в 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>
|
|
11.07.2014, 11:39
|
|
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,132
|
|
CRYSIS_STALKER,
подсказка
min: 0,
max: 5,
value: 1,
step: 1,
|
|
11.07.2014, 11:41
|
|
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,132
|
|
CRYSIS_STALKER,
конечно если я вас правильно понимаю и вам нужны всего 6 значений
|
|
11.07.2014, 11:56
|
|
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,132
|
|
CRYSIS_STALKER,
<!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>
|
|
|
|