Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 15.04.2015, 23:02
Аспирант
Отправить личное сообщение для robertbat Посмотреть профиль Найти все сообщения от robertbat
 
Регистрация: 21.09.2014
Сообщений: 36

Выдвижная панель
Есть скрипт выдвижной панели
Добавил сбоку бордюр в виде панели "А"
В скрипт вписал:
$("div.reltr").animate({left:300},0);
- когда любой из блоков открывается и
$("div.reltr").animate({left:0},0);
- когда закрывается
Но панель "А" отстает от блоков по времени а не как бы приклеена к краю блоков.
Вот наглядно посмотрите:
http://jsfiddle.net/qwertylist/zfsfbbLy/2/
Ответить с цитированием
  #2 (permalink)  
Старый 15.04.2015, 23:33
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,109

robertbat,
зачем вам jquery ?
http://jsfiddle.net/zfsfbbLy/4/
Ответить с цитированием
  #3 (permalink)  
Старый 16.04.2015, 00:08
Аспирант
Отправить личное сообщение для robertbat Посмотреть профиль Найти все сообщения от robertbat
 
Регистрация: 21.09.2014
Сообщений: 36

Огромное спасибо, долго мучился. Осталось только куки прикрутить
, но думаю что нужно будет класс добавлять через addClass.
Ответить с цитированием
  #4 (permalink)  
Старый 17.04.2015, 21:22
Аспирант
Отправить личное сообщение для robertbat Посмотреть профиль Найти все сообщения от robertbat
 
Регистрация: 21.09.2014
Сообщений: 36

Добавил к коду запоминание состояния панелей в куки:

При клике на элемент управления вначале проверяем есть ли кука,
если нет - создаем массив с состояниями когда все блоки открыты,
если есть, читаем строку из нее и далее функцией .split() формируем
из строки массив.

Учитываем что элемент массива: имя блока уменьшенное на единицу.
Обращаемся к родительскому блоку, данного элемента управления
Если у этого блока стоит соответствующий класс, т.е. блок скрыт - изменяем соответствующий элемент массива на 1 - блок открыт. В противном случае 0 - блок закрыт.

Склеиваем массив обратно в строку.

Записываем строку состояний в куку.
Учитываем что элемент массива: имя блока уменьшенное на единицу.
Читаем куку в переменную.

Если кука есть формируем из ее содержимого массив и если соответствующий элемент массива равен состоянию закрытого блока (0) - добавляем соответствующему блоку класс с оформлением для закрытого блока.



function setState (blockName) {
				$('#inset_header'+blockName).click(function() {
					var blockStateCookie = $.cookie('blockState');
					if (blockStateCookie == null) var blockState = [1, 1, 1, 1, 1];
					else var blockState = blockStateCookie.split('');
					var arrEl = blockName-1;
					if ($(this).parent().is('.hide')) blockState [arrEl] = 1;
					else blockState [arrEl] = 0;
					var blockStateCookie = blockState.join('');
					$.cookie('blockState', blockStateCookie, { expires: 10000, path: '/' });
				});
			};
			function restoreState (blockName) {
				var arrEl = blockName-1,
					blockStateCookie = $.cookie('blockState');
				if (blockStateCookie != null) {
					blockState = blockStateCookie.split('');
					if (blockState [arrEl] == 0) { 
						$('#inset_header'+blockName).addClass('hide');
					}
				
				}
			};
restoreState ('1'); setState ('1');
restoreState ('2'); setState ('2');
restoreState ('3'); setState ('3');
restoreState ('4'); setState ('4');
restoreState ('5'); setState ('5');


Ничего не выходит

http://jsfiddle.net/qwertylist/zfsfbbLy/13/

Последний раз редактировалось robertbat, 17.04.2015 в 21:26.
Ответить с цитированием
  #5 (permalink)  
Старый 17.04.2015, 22:17
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,109

robertbat,
вам необходим только индекс открытого блока - его и храните -- есть индекс открыть блок нет ничего не делать
Ответить с цитированием
  #6 (permalink)  
Старый 17.04.2015, 22:48
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,109

robertbat,
http://jsfiddle.net/zfsfbbLy/14/
Ответить с цитированием
  #7 (permalink)  
Старый 17.04.2015, 23:30
Аспирант
Отправить личное сообщение для robertbat Посмотреть профиль Найти все сообщения от robertbat
 
Регистрация: 21.09.2014
Сообщений: 36

Все получилось, еще раз огромное спасибо.
Ответить с цитированием
  #8 (permalink)  
Старый 17.04.2015, 23:54
Аспирант
Отправить личное сообщение для robertbat Посмотреть профиль Найти все сообщения от robertbat
 
Регистрация: 21.09.2014
Сообщений: 36

Только если закрыта не запоминает
Ответить с цитированием
  #9 (permalink)  
Старый 18.04.2015, 00:47
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,109

Сообщение от robertbat
Только если закрыта не запоминает
http://jsfiddle.net/zfsfbbLy/15/
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Статическая панель. pekinessik jQuery 0 08.01.2014 22:10
Выезжающая панель Александр х@к Элементы интерфейса 4 26.12.2011 15:47
панель в панель из панели и снова в панель bessss ExtJS 6 04.09.2011 12:59
Дополнительная панель в визивике. Прошу советов orlenkokn jQuery 0 25.01.2010 11:44
Выплывающая панель сдвигает текст Andrey2005 Элементы интерфейса 0 25.10.2009 20:29