Я пытаюсь создать свою собственную свернутую боковую панель, и я хочу, чтобы файл cookie был сохранен для настроек (свернутая или расширенная панель). Вот мой код от до нижнего колонтитула прилагается файл:Переменные Javascript после обновления страницы
var cookieRightSideBar;
var $postscontainer;
var $container;
var $infocontainer;
cookieRightSideBar = document.cookie.replace(/(?:(?:^|.*;\s*)rightside_container\s*\=\s*([^;]*).*$)|^.*$/, "$1");
$postscontainer = document.getElementById('leftside');
$container = document.getElementById('rightside_container');
$infocontainer = document.getElementById('rightside');
function collapseRightside() {
document.cookie = (cookieRightSideBar == 'collapsed') ? 'rightside_container=expanded' : 'rightside_container=collapsed';
$postscontainer.style.width = ($postscontainer.style.width == '99%') ? '80%' : '99%';
$container.style.display = ($container.style.display == 'none') ? 'block' : 'none';
$infocontainer.style.width = ($infocontainer.style.width == '0%') ? '19%' : '0%';
}
if (document.getElementById('leftside')) {
var $myheight = document.getElementById ('leftside').offsetHeight - 62;
document.getElementById('rightside').style.maxHeight = $myheight + 'px';
}
if (cookieRightSideBar == 'expanded') {
$container.style.display = 'block';
$infocontainer.style.width = "19%";
$postscontainer.style.width = "80%";
}
Его почти сработало, кроме пары грустно вещей. Затем, после обновления страницы, я нажимаю кнопку для расширения моей панели, выглядит как функция collapseRightside не работает правильно после первого щелчка (бар рухнул, если был расширен, но не был расширен, если был свернут). Эта функция должным образом работает с любыми этапами только после второго щелчка. И еще один ... Если я нажимаю бар и расширяюсь снова, а затем обновляю страницу, панель отображается рухнувшей. Я понимаю, что у меня есть ошибки в логических вещах, но я не могу понять, где? Спасибо за любую помощь !!!
Можете ли вы предоставить jsfiddle? –
Почему печенье, а не, скажем, localStorage? –
@Bartek Banachewicz Cookie, потому что они уже использовали в проекте то, что я пытаюсь изменить. Если я использую localStorage, это может каким-то образом заставить мой код работать правильно? – user3543081