Skip to content

Instantly share code, notes, and snippets.

Created April 27, 2016 11:30
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save anonymous/ab933e194f65c470e9c370923eab5e3d to your computer and use it in GitHub Desktop.
Save anonymous/ab933e194f65c470e9c370923eab5e3d to your computer and use it in GitHub Desktop.
JS Bin // source http://jsbin.com/wakoxuyahu
<!DOCTYPE html>
<html>
<head>
<script src="http://code.jquery.com/jquery-2.1.1.min.js"></script>
<link rel="stylesheet" type="text/css" href="http://fosografia.ru/catalog/view/javascript/jquery/ui/themes/ui-lightness/jquery-ui-1.8.16.custom.css"/>
<script type="text/javascript" src="http://fosografia.ru/catalog/view/javascript/jquery/jquery-1.7.1.min.js"></script>
<script src="http://code.jquery.com/ui/1.8.16/jquery-ui.min.js"></script>
<meta charset="utf-8">
<title>JS Bin</title>
<style id="jsbin-css">
.ui-widget-header {
background: #008080;
}
#amount, #amount2, #amount3 {
font-size: 22px;
font-weight: bold;
border:none;
color: #ff5555;
background: none;
width: 50px;
text-align: center;
}
#slider{ background-image:-webkit-gradient(linear,left,right,color-stop(0,#FFD700),color-stop(1,#FF4500));
background-image:-o-linear-gradient(left,#FFD700,#FF4500);
background-image:-moz-linear-gradient(left,#FFD700,#FF4500);
background-image:-webkit-linear-gradient(left,#FFD700,#FF4500);
background-image:linear-gradient(to right,#FFD700,#FF4500);
margin: 10px auto;
height: 6px;
width: 350px;
}
#slider2{
background-image:-webkit-gradient(linear,left,right,color-stop(0,#FFD700),color-stop(1,#FF4500));
background-image:-o-linear-gradient(left,#FFD700,#FF4500);
background-image:-moz-linear-gradient(left,#FFD700,#FF4500);
background-image:-webkit-linear-gradient(left,#FFD700,#FF4500);
background-image:linear-gradient(to right,#FFD700,#FF4500);
height: 350px;
margin: auto 10px;
width: 6px;
}
#slider .cm {
margin: 10px auto;
position: absolute;
border-left: 1px solid #555;
height: 6px;
}
#slider .cm:after {
position: absolute;
bottom: -15px;
margin-left: -7px;
font: 11px/1 sans-serif;
}
#slider2 .cm {
margin: auto 10px;
position: absolute;
border-top: 1px solid #555;
width: 6px;
}
#slider2 .cm:after {
position: absolute;
right: -20px;
margin-top: -4px;
font: 11px/1 sans-serif;
}
.cm:after {
content: attr(rel);
}
.ui-slider-handle{border-radius:50%; font-size: 12px;}
.ui-slider-horizontal .ui-slider-handle {
top: -0.5em;
}
.ui-slider-vertical .ui-slider-handle {
left: -0.5em;
}
:focus{
outline:0;
border:0;
}
.trdsld {
margin-right: -15px;
margin-left: -15px;
text-align: center;
padding-top: 25px;
background: scroll top left repeat url('http://fosografia.ru/snd/images/trdsld.png');
box-shadow: 0 0px 1px rgba(0, 0, 0, 0.2), 0px 0px 0px rgba(255, 255, 255, 0.5) inset, 0 -1px 0 rgba(0, 0, 0, 0.1) inset, 0 2px 5px rgba(0, 0, 0, 0.2);
}
.trdsld span{
font-size: 30px;
font-family: Comfortaa;
padding: 11px;
display: block;
padding-top: 20px;
}
</style>
</head>
<body>
<div class="trdsld">
<span>Выбираете размер портрета:</span>
<table style="margin: 0 auto;text-align: center;">
<tbody>
<tr>
<td style="height: 400px; width: 400px;">
<div id="olol" style="height: 180px;width: 180px;margin: auto;border: 1px solid #000;">
<input type="text" id="amount" readonly> Х <input type="text" id="amount2" readonly></div>
</td>
<td style="height: 400px; width: 30px;"><div id="slider2"></div></td>
</tr>
<tr>
<td style="width: 400px;">
<div id="slider"></div>
</td>
</tr>
</tbody>
</table>
<span>Стоимость:<input type="text" id="amount3" readonly></span>
</p>
</div>
<script id="jsbin-javascript">
$(function() {
obra = 0;
var price = {
30: {
30: 905 + obra,
40: 1095 + obra
},
40: {
30: 1095 + obra,
40: 1305 + obra,
60: 1730 + obra
},
50: {
50: 1755 + obra,
70: 2230 + obra
},
60: {
40: 1730 + obra,
60: 2255 + obra,
90: 3045 + obra
},
70: {
50: 2230 + obra,
70: 3000 + obra,
100: 3670 + obra
},
80: {
80: 3500 + obra,
120: 4655 + obra
},
90: {
60: 3045 + obra,
90: 4200 + obra
},
100: {
70: 3670 + obra,
100: 4755 + obra
},
120: {
80: 4655 + obra,
120: 6305 + obra
}
};
function comb(a) {
return Object.keys(a);
}
var steps = comb(price);
var num = steps[0];
var steps2 = comb(price[num]);
$("#slider2").slider({ orientation: "vertical",
value: 0,
min: 0,
max: steps2.length - 1,
step: 1,
range: "max",
animate: "slow",
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,
range: "max",
max: steps.length - 1,
step: 1,
animate: "slow",
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);
scale(steps2, "#slider2");
},
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);
scale(steps2, "#slider2");
}
});
$("#slider").slider("option", "value", 0) ;
function scale(arr, elem, width)
{
$(".cm", elem).remove();
var w = 100/(arr.length-1)||100;
$.each(arr, function(i, num){
var css = width ? {left : w * i+"%", width : w} : {top : w * i+"%", height : w};
$("<div>",{"class" : "cm", "rel" : num, "css" : css}).appendTo(elem);
});
}
scale(steps, "#slider", true);
});
</script>
<script id="jsbin-source-html" type="text/html"><!DOCTYPE html>
<html>
<head>
<script src="//code.jquery.com/jquery-2.1.1.min.js"><\/script>
<link rel="stylesheet" type="text/css" href="http://fosografia.ru/catalog/view/javascript/jquery/ui/themes/ui-lightness/jquery-ui-1.8.16.custom.css"/>
<script type="text/javascript" src="http://fosografia.ru/catalog/view/javascript/jquery/jquery-1.7.1.min.js"><\/script>
<script src="//code.jquery.com/ui/1.8.16/jquery-ui.min.js"><\/script>
<meta charset="utf-8">
<title>JS Bin</title>
</head>
<body>
<div class="trdsld">
<span>Выбираете размер портрета:</span>
<table style="margin: 0 auto;text-align: center;">
<tbody>
<tr>
<td style="height: 400px; width: 400px;">
<div id="olol" style="height: 180px;width: 180px;margin: auto;border: 1px solid #000;">
<input type="text" id="amount" readonly> Х <input type="text" id="amount2" readonly></div>
</td>
<td style="height: 400px; width: 30px;"><div id="slider2"></div></td>
</tr>
<tr>
<td style="width: 400px;">
<div id="slider"></div>
</td>
</tr>
</tbody>
</table>
<span>Стоимость:<input type="text" id="amount3" readonly></span>
</p>
</div>
</body>
</html></script>
<script id="jsbin-source-css" type="text/css">.ui-widget-header {
background: #008080;
}
#amount, #amount2, #amount3 {
font-size: 22px;
font-weight: bold;
border:none;
color: #ff5555;
background: none;
width: 50px;
text-align: center;
}
#slider{ background-image:-webkit-gradient(linear,left,right,color-stop(0,#FFD700),color-stop(1,#FF4500));
background-image:-o-linear-gradient(left,#FFD700,#FF4500);
background-image:-moz-linear-gradient(left,#FFD700,#FF4500);
background-image:-webkit-linear-gradient(left,#FFD700,#FF4500);
background-image:linear-gradient(to right,#FFD700,#FF4500);
margin: 10px auto;
height: 6px;
width: 350px;
}
#slider2{
background-image:-webkit-gradient(linear,left,right,color-stop(0,#FFD700),color-stop(1,#FF4500));
background-image:-o-linear-gradient(left,#FFD700,#FF4500);
background-image:-moz-linear-gradient(left,#FFD700,#FF4500);
background-image:-webkit-linear-gradient(left,#FFD700,#FF4500);
background-image:linear-gradient(to right,#FFD700,#FF4500);
height: 350px;
margin: auto 10px;
width: 6px;
}
#slider .cm {
margin: 10px auto;
position: absolute;
border-left: 1px solid #555;
height: 6px;
}
#slider .cm:after {
position: absolute;
bottom: -15px;
margin-left: -7px;
font: 11px/1 sans-serif;
}
#slider2 .cm {
margin: auto 10px;
position: absolute;
border-top: 1px solid #555;
width: 6px;
}
#slider2 .cm:after {
position: absolute;
right: -20px;
margin-top: -4px;
font: 11px/1 sans-serif;
}
.cm:after {
content: attr(rel);
}
.ui-slider-handle{border-radius:50%; font-size: 12px;}
.ui-slider-horizontal .ui-slider-handle {
top: -0.5em;
}
.ui-slider-vertical .ui-slider-handle {
left: -0.5em;
}
:focus{
outline:0;
border:0;
}
.trdsld {
margin-right: -15px;
margin-left: -15px;
text-align: center;
padding-top: 25px;
background: scroll top left repeat url('http://fosografia.ru/snd/images/trdsld.png');
box-shadow: 0 0px 1px rgba(0, 0, 0, 0.2), 0px 0px 0px rgba(255, 255, 255, 0.5) inset, 0 -1px 0 rgba(0, 0, 0, 0.1) inset, 0 2px 5px rgba(0, 0, 0, 0.2);
}
.trdsld span{
font-size: 30px;
font-family: Comfortaa;
padding: 11px;
display: block;
padding-top: 20px;
}
</script>
<script id="jsbin-source-javascript" type="text/javascript">$(function() {
obra = 0;
var price = {
30: {
30: 905 + obra,
40: 1095 + obra
},
40: {
30: 1095 + obra,
40: 1305 + obra,
60: 1730 + obra
},
50: {
50: 1755 + obra,
70: 2230 + obra
},
60: {
40: 1730 + obra,
60: 2255 + obra,
90: 3045 + obra
},
70: {
50: 2230 + obra,
70: 3000 + obra,
100: 3670 + obra
},
80: {
80: 3500 + obra,
120: 4655 + obra
},
90: {
60: 3045 + obra,
90: 4200 + obra
},
100: {
70: 3670 + obra,
100: 4755 + obra
},
120: {
80: 4655 + obra,
120: 6305 + obra
}
};
function comb(a) {
return Object.keys(a);
}
var steps = comb(price);
var num = steps[0];
var steps2 = comb(price[num]);
$("#slider2").slider({ orientation: "vertical",
value: 0,
min: 0,
max: steps2.length - 1,
step: 1,
range: "max",
animate: "slow",
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,
range: "max",
max: steps.length - 1,
step: 1,
animate: "slow",
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);
scale(steps2, "#slider2");
},
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);
scale(steps2, "#slider2");
}
});
$("#slider").slider("option", "value", 0) ;
function scale(arr, elem, width)
{
$(".cm", elem).remove();
var w = 100/(arr.length-1)||100;
$.each(arr, function(i, num){
var css = width ? {left : w * i+"%", width : w} : {top : w * i+"%", height : w};
$("<div>",{"class" : "cm", "rel" : num, "css" : css}).appendTo(elem);
});
}
scale(steps, "#slider", true);
});</script></body>
</html>
.ui-widget-header {
background: #008080;
}
#amount, #amount2, #amount3 {
font-size: 22px;
font-weight: bold;
border:none;
color: #ff5555;
background: none;
width: 50px;
text-align: center;
}
#slider{ background-image:-webkit-gradient(linear,left,right,color-stop(0,#FFD700),color-stop(1,#FF4500));
background-image:-o-linear-gradient(left,#FFD700,#FF4500);
background-image:-moz-linear-gradient(left,#FFD700,#FF4500);
background-image:-webkit-linear-gradient(left,#FFD700,#FF4500);
background-image:linear-gradient(to right,#FFD700,#FF4500);
margin: 10px auto;
height: 6px;
width: 350px;
}
#slider2{
background-image:-webkit-gradient(linear,left,right,color-stop(0,#FFD700),color-stop(1,#FF4500));
background-image:-o-linear-gradient(left,#FFD700,#FF4500);
background-image:-moz-linear-gradient(left,#FFD700,#FF4500);
background-image:-webkit-linear-gradient(left,#FFD700,#FF4500);
background-image:linear-gradient(to right,#FFD700,#FF4500);
height: 350px;
margin: auto 10px;
width: 6px;
}
#slider .cm {
margin: 10px auto;
position: absolute;
border-left: 1px solid #555;
height: 6px;
}
#slider .cm:after {
position: absolute;
bottom: -15px;
margin-left: -7px;
font: 11px/1 sans-serif;
}
#slider2 .cm {
margin: auto 10px;
position: absolute;
border-top: 1px solid #555;
width: 6px;
}
#slider2 .cm:after {
position: absolute;
right: -20px;
margin-top: -4px;
font: 11px/1 sans-serif;
}
.cm:after {
content: attr(rel);
}
.ui-slider-handle{border-radius:50%; font-size: 12px;}
.ui-slider-horizontal .ui-slider-handle {
top: -0.5em;
}
.ui-slider-vertical .ui-slider-handle {
left: -0.5em;
}
:focus{
outline:0;
border:0;
}
.trdsld {
margin-right: -15px;
margin-left: -15px;
text-align: center;
padding-top: 25px;
background: scroll top left repeat url('http://fosografia.ru/snd/images/trdsld.png');
box-shadow: 0 0px 1px rgba(0, 0, 0, 0.2), 0px 0px 0px rgba(255, 255, 255, 0.5) inset, 0 -1px 0 rgba(0, 0, 0, 0.1) inset, 0 2px 5px rgba(0, 0, 0, 0.2);
}
.trdsld span{
font-size: 30px;
font-family: Comfortaa;
padding: 11px;
display: block;
padding-top: 20px;
}
$(function() {
obra = 0;
var price = {
30: {
30: 905 + obra,
40: 1095 + obra
},
40: {
30: 1095 + obra,
40: 1305 + obra,
60: 1730 + obra
},
50: {
50: 1755 + obra,
70: 2230 + obra
},
60: {
40: 1730 + obra,
60: 2255 + obra,
90: 3045 + obra
},
70: {
50: 2230 + obra,
70: 3000 + obra,
100: 3670 + obra
},
80: {
80: 3500 + obra,
120: 4655 + obra
},
90: {
60: 3045 + obra,
90: 4200 + obra
},
100: {
70: 3670 + obra,
100: 4755 + obra
},
120: {
80: 4655 + obra,
120: 6305 + obra
}
};
function comb(a) {
return Object.keys(a);
}
var steps = comb(price);
var num = steps[0];
var steps2 = comb(price[num]);
$("#slider2").slider({ orientation: "vertical",
value: 0,
min: 0,
max: steps2.length - 1,
step: 1,
range: "max",
animate: "slow",
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,
range: "max",
max: steps.length - 1,
step: 1,
animate: "slow",
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);
scale(steps2, "#slider2");
},
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);
scale(steps2, "#slider2");
}
});
$("#slider").slider("option", "value", 0) ;
function scale(arr, elem, width)
{
$(".cm", elem).remove();
var w = 100/(arr.length-1)||100;
$.each(arr, function(i, num){
var css = width ? {left : w * i+"%", width : w} : {top : w * i+"%", height : w};
$("<div>",{"class" : "cm", "rel" : num, "css" : css}).appendTo(elem);
});
}
scale(steps, "#slider", true);
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment