Проблема с ползунком!!!
Здравствуйте! Подскажите, пожалуйста! Столкнулась с такой проблемой:
Использую на страничках виджет джиквери полузунок. Чаще всего для выбора диапазона значений
$("#slider-diap").slider({
range: true,
min: 2000,
max: 2010,
values: [2010, 2010],
slide: function( event, ui ) {
$( "#startYear" ).val( ui.values[ 0 ] );
$( "#endYear" ).val( ui.values[ 1 ] );
}
});
По умолчаню, два ползунка стоят на одном и том же значении,причем на краю диапазона, это важно. И здесь возникает проблема! Итак: горизонтальный слайдер, два ползунка : левый и правый, диапазон лет, соответственно от левого до правого. Понятное дело, что я не могу задвинуть правый левее левого))) ну то есть если левый показывает 2005, то правый не может показать 2004. Так вот когда загружается страничка - два ползунка находятся в конце диапазона на 2010, и получается что мышка выделяет правый ползунок, и я не могу его воообще сдвинут влево, так как левый стоит на 2010. А мне нужно чтобы мышка выделила левый ползунок, и я могла изменить диапазон. Надеюсь, я понятно объяснила проблему! Подскажите пожалуйста, как мне программно задавать какой ползунок сверху при загрузке страницы? от чего это вообще зависит? |
Цитата:
<!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/mint-choc/jquery-ui.css">
<style>
#slider-diap { 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>
<div id="slider-diap"></div>
<input id="startYear" value="2010"><input id="endYear" value="2010">
<script>
$("#slider-diap").slider({
range: true,
min: 2000,
max: 2010,
values: [2010, 2010],
slide: function( event, ui ) {
$( "#startYear" ).val( ui.values[ 0 ] );
$( "#endYear" ).val( ui.values[ 1 ] );
}
});
</script>
</body>
</html>
|
)))) Я упростила немного. При изначальной загрузке страницы у меня тоже все работает, но!!! мне приходится использовать куки для сохранения выбранных пользователем значений. И теперь представим что пользователь выбрал обоими ползунками 2010 год. после перезагрузки страницы на ползунки устанавливаются значения из куков. Так вот в этом случае и происходит эта ошибка. Причем если я оба ползунка установлю на 2000 - то все работает - активен правый ползунок, а вот если на 2010 то тоже активен правый ползунок - вот и получается что его просто не сдвинуть!!!! от чего вообще зависит активность ползунка? как можно ее изменить??(((
|
Получилось!!! Уж сколько я над этим думала! )))) но тут задумалась: походу дела активность ползунка зависит от того, какой мы последним двигали!! во поэтому решила отследить момент когда оба ползунка находятся на 2010 и установить значение на левый ползунок повторно - тогда он получается последним, над которым производят действие - следовательно он активен! Может кому пригодится ;)
if($.cookie("oper_year_end_Cookie")=="2010" && $.cookie("oper_year_start_Cookie")=="2010" )$( "#slider-diap" ).slider( "values", 0,$.cookie("oper_year_start_Cookie"));
|
slider ui сохранение
Sveta,
:-?
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>slider demo</title>
<link rel="stylesheet" href="https://code.jquery.com/ui/1.10.3/themes/mint-choc/jquery-ui.css">
<style>
#slider-diap { margin: 10px;width : 500px; }
</style>
<script src="https://code.jquery.com/jquery-1.9.1.js"></script>
<script src="https://code.jquery.com/ui/1.10.3/jquery-ui.js"></script>
</head>
<body>
<div id="slider-diap"></div>
<input id="startYear" value="2010"><input id="endYear" value="2010">
<script>
var storage = localStorage;
var a = JSON.parse(storage.getItem("values")) ||[2010, 2010];
$("#slider-diap").slider({
range: true,
min: 2000,
max: 2010,
values: a,
slide: function( event, ui ) {
storage.setItem("values", JSON.stringify(ui.values));
$( "#startYear" ).val( ui.values[ 0 ] );
$( "#endYear" ).val( ui.values[ 1 ] );
}
});
$( "#startYear" ).val( a[ 0 ] );
$( "#endYear" ).val( a[ 1 ] );
</script>
</body>
</html>
|
рони,
Вы предлагаете использовать localStorage вместо куков? в чем преимущество? |
Sveta,
вам предложили не localStorage а решение по проблеме правого ползунка - использовать localStorage или cookie в моём коде вам решать - а так обьём для хранения в localStorage гораздо больше cookie |
аааа) Спасибо!)
|
| Часовой пояс GMT +3, время: 16:22. |