UI Slider блокировать диапазон значений
Есть слайдер с диапазоном значений 6-30. Мне необходимо сделать так, чтобы слайдеры диапазона не сходились на расстояние 2 единиц.
Написал обработчик перемещения типа такого, но не помогает.
slide: function(event, ui){
if(ui.value + 1 == ui.values[1]){
$(this).slider( "values", 0, ui.value - 1 );
return;
}
if(ui.value - 1 == ui.values[0]){
$(this).slider( "values", 1, ui.value + 1 );
return;
}
$('#val').text(ui.value);
},
|
sniffysko,
:write:
<!DOCTYPE HTML>
<html lang="en">
<head>
<meta charset="utf-8">
<title>slider demo</title>
<link rel="stylesheet" href="http://code.jquery.com/ui/1.10.3/themes/south-street/jquery-ui.css">
<style>
#slider-range { margin: 10px; width: 500px }
</style>
<script src="http://code.jquery.com/jquery-1.9.1.js"></script>
<script src="http://code.jquery.com/ui/1.10.3/jquery-ui.js"></script>
</head>
<body>
<input id="val1">
<input id="val2">
<div id="slider-range"></div>
<script>
$("#slider-range").slider({
range: true,
min: 6,
max: 30,
values: [12,20],
animate: true,
slide: function( event, ui ) {
if(ui.values[1] - ui.values[0] < 2 ) return false;
$('#val1').val(ui.values[0]);
$('#val2').val(ui.values[1]);
}
});
$( "#val1" ).val( $( "#slider-range" ).slider( "values", 0 ));
$( "#val2" ).val( $( "#slider-range" ).slider( "values", 1 ));
</script>
</body>
</html>
|
Спасибо большое за замечательный ответ.
Код получился проще чем у меня. Я так понял, мое не работало, потому как я делал return, а не return false. |
Цитата:
|
| Часовой пояс GMT +3, время: 07:56. |