|
Зависимость шага 2го ползунка от позиции первого
Заранее извиняюсь за криворукость - совершенно не знаю яву.. но старательно учусь :)
В идеале необходимо сделать так: 2 ползунка slider -главный, slider2 - "в подчинении" 1 имеет шкалы для перемещения 30,40,50,70,80,90,100,120,150 <- задачу, по изменению линейного шага я преодолел... 2 меняет свои шкалы в зависимости от позиции 1го ползуна.. т.е.: при текущем значении 1 = 30, шкалы у 2го = 30,40, при 1 = 40 - у второго = 30,40,60 и т.д. для разных позиций разные комбинации. Впоследствии каждой из комбинаций присвоить значение числовое (цена) - которое будет выводиться клиенту. В общем калькулятор на ползунках с нелинейными делениями ползунка с присвоением констант к каждой из комбинаций Пока вышла вот такая муть... https://gist.github.com/anonymous/0e...74379b062f0648 Помогите советом - буду признателен! |
А зачем первый задает диапазон, с какой целью?
|
slider зависимый ползунок
fos,
<!DOCTYPE html>
<html>
<head>
<title>Untitled</title>
<meta charset="utf-8">
<style type="text/css">
body {
font-family: sans-serif;
font-size: 12px;
}
#amount, #amount2 {
font-size: 22px;
font-weight: bold;
border:none;
color: #ff5555;
background: none;
}
#slider, #slider2{
width: 300px;
}
</style>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.0/jquery.min.js"></script>
<link rel="stylesheet" href="https://ajax.googleapis.com/ajax/libs/jqueryui/1.11.4/themes/smoothness/jquery-ui.css">
<script src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.11.4/jquery-ui.min.js">
</script>
<script>
$(function() {
var steps = [30, 40, 50, 60, 70, 80, 90, 100, 120, 150];
function comb(a) {
return steps.filter(function(b, i) {
return i < a + 2 && i > a - 2
})
}
var steps2 = comb(0);
$("#slider2").slider({
value: 0,
min: 0,
max: steps2.length - 1,
step: 1,
slide: function(event, ui) {
$("#amount2").val(steps2[ui.value])
},
change: function(event, ui) {
$("#amount2").val(steps2[ui.value])
}
});
$("#slider").slider({
value: 0,
min: 0,
max: steps.length - 1,
step: 1,
slide: function(event, ui) {
$("#amount").val(steps[ui.value]);
steps2 = comb(ui.value);
$("#slider2").slider("option",
"max", steps2.length - 1);
$("#slider2").slider("option", "value", steps2.indexOf(steps[ui.value]))
},
change: function(event, ui) {
$("#amount").val(steps[ui.value]);
steps2 = comb(ui.value);
$("#slider2").slider("option", "max", steps2.length - 1);
$("#slider2").slider("option", "value", steps2.indexOf(steps[ui.value]))
}
});
$("#slider").slider("option", "value", 0)
});
</script>
</head>
<body>
<p>
<input type="text" id="amount" readonly>
</p>
<div id="slider"></div>
<p>
<input type="text" id="amount2" readonly>
</p>
<div id="slider2"></div>
</body>
</html>
|
Цитата:
|
Цитата:
|
Цитата:
Видимо я слишком дофига хочу :( Я уже подумываю над тем, чтобы не загонятся и сделать тупо кликабельное перечисление всех размером без каких либо ползунков.. но оно даже с моей фантазией не поддается красивой визуализации, возможной с ползунками... |
Цитата:
Пользователь же выбирает, например, категорию товаров, а получить мин. и макс. значения этого параметра для категории не проблема, и подставить их в диапазон. Да в общем то и плагины диапазонов есть, где ну никак не напутать. |
Цитата:
Цитата:
|
Цитата:
Чтобы более понятно было: нужно сделать калькулятор расчета стоимости портрета. Всего около 15 различных размеров, каждый из них стоит определенную деньгу, которую не получится в формулу уместить по параметру площади и т.д., т.е. втупую нужно каждому размеру задавать отдельный ценник, а выводить 15 размеров полотенцем на экран - юзер глаза себе выколет и убежит :) в выпадающий список прятать - тоже коряво.. ползунки идеально, но дефолтом доступен только шаг и макс,мин =\ Плагинов несколько качал, прогуглил порядка 20 страниц скриптов со связанными ползунками, нелинейным шагом ползунка и т.д. и в итоге получилось то чудовисче, которое получилось... :( |
Цитата:
Чтобы прям вот конкретно понять, что я хочу попробую на X, Y, G, Z объяснить... X - текущая шкала 1, Y - шкалы ползунка 2, G = текущее значение шкалы 2, Z = ценник, присваиваемый комбе позиций X и G. Дабы не оставалось комбинаций с 1 значением в шкале убрал величину 150, где только 1 размер 100х150 былбы... - и хнер с ним :) X = 30 -> Y = 30, 40 X = 40 -> Y = 30, 40, 60 X = 50 -> Y = 50, 70 X = 60 -> Y = 40, 60, 90 X = 70 -> Y = 50, 70, 100 X = 80 -> Y = 80, 120 X = 90 -> Y = 60, 90 X = 100 -> Y = 70, 100 X = 120 -> Y = 80, 120 X=30 & G=30 -> Z = 905, X=30 & G=40 и X=40 & G=30 -> Z = 1095, X=40 & G=40 -> Z = 1305, X=40 & G=60 и X=60 & G=40 -> Z = 1730, X=50 & G=50 -> Z = 1755, X=50 & G=70 и X=70 & G=50 -> Z = 2230, X=60 & G=60 -> Z = 2255, X=60 & G=90 и X=90 & G=60 -> Z = 3045, X=70 & G=70 -> Z = 3000, X=70 & G=100 и X=100 & G=70 -> Z = 3670, X=80 & G=80 -> Z = 3500, X=80 & G=120 и X=120 & G=80 -> Z = 4655, X=80 & G=80 -> Z = 3500, X=90 & G=90 -> Z = 4200, X=100 & G=100 -> Z = 4755, X=120 & G=120 -> Z = 6305, Цитата:
|
| Часовой пояс GMT +3, время: 22:54. |
|