Здравствуйте! Скажите пж, как прописать в скрипте вот это: localStorage.setItem("storedUri", uri) //пишем localStorage.getItem("storedUri") // читаем

Здравствуйте! Скажите пж, как прописать в скрипте вот это:

localStorage.setItem(«storedUri», uri) //пишем
localStorage.getItem(«storedUri») // читаем

Нужно для того чтобы при перезагрузки страницы, в пункте меню фильтра, сохранялся выбранный пункт.

Вот сам скрипт:

$(document).ready(function() {
loadCatalog(0, 1);
$('#more').on('click', function() {
var showPage = $(this).data('show');
var preloadPage = parseInt(showPage) + 1;
loadCatalog(showPage, preloadPage);
});
$('.sort button').on('click', function() {
$('.sort button').removeClass('active');
$(this).addClass('active');
uri = setAttr('sortby', $(this).data('sort'));
uri = setAttr('sortdir', $(this).data('sortdir'));
$('#catalog').html('');
loadCatalog(0, 1);
return false;
});
$('.filter .filter-group button').on('click', function() {
var filter_group = $(this).parent('.filter-group');
var active = $(this).hasClass('active');
var filter = $(this).data('filter');
var value = '';
if (filter == 'category') {
$(this).toggleClass('active');
var categories = '';
$('.filter button[data-filter=«category»].active').each(function() {
categories += $(this).data('value') + '|';
});
value = categories.substr(0, categories.length — 1);
}
else {
filter_group.find('button').removeClass('active');
if (!active) {
$(this).addClass('active');
value = $(this).data('value');
}
}
uri = setAttr(filter, value);
$('#catalog').html('');
loadCatalog(0, 1);
return false;
});
});
function loadCatalog(showPage, preloadPage) {
$('#more').hide();
if (showPage != 0) {
$('#page' + showPage).show('slow');
$('html,body').animate({ scrollTop: $('#page' + showPage).offset().top — 100 }, 1000);
}
$('#catalog').append('
 
');
uri = setAttr('page', preloadPage);
$.ajax({
url: uri,
cache: false,
success: function(html_result) {
if (html_result != '') {
var total = html_result.match(/
(.*?)<\/div>/i);
if (total[1] == '') total[1] = 0;
$('#total span').html(total[1]);
var is_items = html_result.search(/<div.*?class=".*?list-item.*?"/i);
if (is_items != -1) {
$('#more').data('show', preloadPage);
$('#more').show();
$('#page' + preloadPage).hide();
$('#page' + preloadPage).html(html_result);
if (preloadPage == 1) loadCatalog(1, 2);
}
}
}
});
}
// функция заменяет get-параметр в строке параметров uri (либо добавляет; либо удаляет, если передать val='')
function setAttr(prmName,val) {
var res = '';
var d = uri.split("?");
var base = d[0];
var query = d[1];
if(query) {
var params = query.split("&");
for(var i = 0; i < params.length; i++) {
var keyval = params[i].split("=");
if(keyval[0] != prmName) {
res += params[i] + '&';
}
}
}
if (val != '') res += prmName + '=' + val;
return base + '?' + res;
}
Ответов пока нет
Рекомендуем личную консультацию

Дмитрий

IT, Программирование, Администрирование, Железо, Сети (Сертификат Cisco CCNA R& S) Решение задач по программированию, информатике. Pascal, C#, PHP, MySQL, PostgreSQL, WEB, Linux, серверы. Консультирую только зарегистрированных пользователей! Прос Узнать подробнее
Посмотреть всех экспертов из раздела Технологии > JavaScript,Ajax,HTML