Проблема с ползунком!!!
Здравствуйте! Подскажите, пожалуйста! Столкнулась с такой проблемой:
Использую на страничках виджет джиквери полузунок. Чаще всего для выбора диапазона значений $("#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, время: 14:40. |