26.04.2016, 17:35
|
|
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,109
|
|
fos,
не понял ничего.
|
|
26.04.2016, 18:02
|
Аспирант
|
|
Регистрация: 26.04.2016
Сообщений: 40
|
|
Сообщение от рони
|
fos,
не понял ничего.
|
собственно про это я и говорил я искренне пытался объяснить, но даже хз как выразить это еще
попробую дообъяснить:
X = 30 -> Y = 30, 40 - означает, что при ползунке1 в позиции "30", в ползунке 2 доступны шкалы 30 и 40...
И так расписал все нужные комбинации....
X=30 & G=40 и X=40 & G=30 -> Z = 1095, - означает, что при позиции ползунка 1 = "30" и позиции ползуна 2 = "40" некая переменная (которая выводится на экран в виде "Стоимость: ___ " приобретает значение = 1095, равно как и комбинация 40 и 30...
И так тоже расписал все присвоения для всех комбинаций..
Если это вообще реально сделать - мнебы хотябы наметки узреть для 2х комбинаций, остальные естественно я бы сам допилил
Чувствую, что о5 невнятно объяснил...
|
|
26.04.2016, 18:13
|
|
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,109
|
|
fos,
а в таком виде можно?
var price = {
30: {
30: 1095,
40: 5000
},
40: {
1: 400,
5: 7000
}
};
|
|
26.04.2016, 21:28
|
Аспирант
|
|
Регистрация: 26.04.2016
Сообщений: 40
|
|
var cena = {
30: {
30: 905,
40: 1095
},
40: {
30: 1095,
40: 1305,
60: 1730
}
50: {
50: 1755,
70: 2230
}
60: {
40: 1730,
60: 2255,
90: 3045
}
70: {
50: 2230,
70: 3000,
100: 3670
}
80: {
80: 3500,
120: 4655
}
90: {
60: 3045,
90: 4200
}
100: {
70: 3670,
100: 4755
}
120: {
80: 4655,
120: 6305
}
};
Надеюсь так понятнее получилось? В любом случае спасибо, что объяснили каким языком объяснять, что вообще хочу сделать ))
При этом собственно еще бы не только ценник присваивался, но и деления в ползуне2 менялись...
|
|
26.04.2016, 21:37
|
|
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,109
|
|
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, #amount3 {
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 price = {
30: {
30: 905,
40: 1095
},
40: {
30: 1095,
40: 1305,
60: 1730
},
50: {
50: 1755,
70: 2230
},
60: {
40: 1730,
60: 2255,
90: 3045
},
70: {
50: 2230,
70: 3000,
100: 3670
},
80: {
80: 3500,
120: 4655
},
90: {
60: 3045,
90: 4200
},
100: {
70: 3670,
100: 4755
},
120: {
80: 4655,
120: 6305
}
};
function comb(a) {
return Object.keys(a)
}
var steps = comb(price);
var num = steps[0];
var steps2 = comb(price[num]);
$("#slider2").slider({
value: 0,
min: 0,
max: steps2.length - 1,
step: 1,
slide: function(event, ui) {
var Y = steps2[ui.value];
$("#amount2").val(Y);
$("#amount3").val(price[num][Y]);
},
change: function(event, ui) {
var Y = steps2[ui.value];
$("#amount2").val(Y);
$("#amount3").val(price[num][Y]);
}
});
$("#slider").slider({
value: 0,
min: 0,
max: steps.length - 1,
step: 1,
slide: function(event, ui) {
num = steps[ui.value];
$("#amount").val(num);
steps2 = comb(price[num]);
$("#slider2").slider("option","max", steps2.length - 1);
$("#slider2").slider("option", "value", 0)
},
change: function(event, ui) {
num = steps[ui.value];
$("#amount").val(num);
steps2 = comb(price[num]);
$("#slider2").slider("option","max", steps2.length - 1);
$("#slider2").slider("option", "value", 0)
}
});
$("#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>
<p>
<input type="text" id="amount3" readonly>
</p>
</body>
</html>
|
|
26.04.2016, 22:28
|
Аспирант
|
|
Регистрация: 26.04.2016
Сообщений: 40
|
|
Сообщение от рони
|
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, #amount3 {
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 price = {
30: {
30: 905,
40: 1095
},
40: {
30: 1095,
40: 1305,
60: 1730
},
50: {
50: 1755,
70: 2230
},
60: {
40: 1730,
60: 2255,
90: 3045
},
70: {
50: 2230,
70: 3000,
100: 3670
},
80: {
80: 3500,
120: 4655
},
90: {
60: 3045,
90: 4200
},
100: {
70: 3670,
100: 4755
},
120: {
80: 4655,
120: 6305
}
};
function comb(a) {
return Object.keys(a)
}
var steps = comb(price);
var num = steps[0];
var steps2 = comb(price[num]);
$("#slider2").slider({
value: 0,
min: 0,
max: steps2.length - 1,
step: 1,
slide: function(event, ui) {
var Y = steps2[ui.value];
$("#amount2").val(Y);
$("#amount3").val(price[num][Y]);
},
change: function(event, ui) {
var Y = steps2[ui.value];
$("#amount2").val(Y);
$("#amount3").val(price[num][Y]);
}
});
$("#slider").slider({
value: 0,
min: 0,
max: steps.length - 1,
step: 1,
slide: function(event, ui) {
num = steps[ui.value];
$("#amount").val(num);
steps2 = comb(price[num]);
$("#slider2").slider("option","max", steps2.length - 1);
$("#slider2").slider("option", "value", 0)
},
change: function(event, ui) {
num = steps[ui.value];
$("#amount").val(num);
steps2 = comb(price[num]);
$("#slider2").slider("option","max", steps2.length - 1);
$("#slider2").slider("option", "value", 0)
}
});
$("#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>
<p>
<input type="text" id="amount3" readonly>
</p>
</body>
</html>
|
пипец) Я не знаю, как Вы это сделали, но оно работает!
Еще один вопрос назрел (сорри за наглость...) А ползунок 2 каким-то параметром можно заставить отображаться вертикально, а не горизонтально?
|
|
26.04.2016, 22:46
|
Аспирант
|
|
Регистрация: 26.04.2016
Сообщений: 40
|
|
Мужик, ты реально крутой! Спасибо тебе большое!
Если нужно помочь с подарком по какому-либо поводу - пиши, помогу!!!
|
|
26.04.2016, 23:10
|
Аспирант
|
|
Регистрация: 26.04.2016
Сообщений: 40
|
|
Еще 1 дурацкий вопрос... А отображать на позунке деления можно? не обязательно циферные значения, хотябы тупо черточки
|
|
26.04.2016, 23:17
|
|
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,109
|
|
|
|
|
|