Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 14.06.2012, 17:14
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

Сообщение от Alexanderos
А два раза не приходится кликать чтобы панель задвинуть вверх из нижнего положения?
Есть такое - а выложите ка Вашу клик функцию по кнопке, тут её нет в примере
Ответить с цитированием
  #12 (permalink)  
Старый 14.06.2012, 17:18
Интересующийся
Отправить личное сообщение для Alexanderos Посмотреть профиль Найти все сообщения от Alexanderos
 
Регистрация: 27.09.2010
Сообщений: 29

Все что используется указано в коде чуть выше... там нет функций своих... использую конструкцию .toggle

Для работы с cookie использую вот этот готовый скрипт: http://test.kridom.ru/sites/all/them...uery.cookie.js

Для удобства приведу часть кода тут:
$('#btn-panel-slide').toggle(function () {	
		$("#panel .region-inner").animate({top:"0px"}, 500);
		$('#btn-panel-slide').addClass("active");
		$.cookie('cookie_panel_status', 'active', { expires: 7, path: '/' });
	}, function() {
		$("#panel .region-inner").animate({top:-($("#panel .region-inner").height() - 20) + "px"}, 500);
		$('#btn-panel-slide').removeClass("active");
		$.cookie('cookie_panel_status', '', { expires: 7, path: '/' });
	});



UPD: пробовал обрабатывать событие .click но что-то там совсем запутался и не получилось ничего путного...

Последний раз редактировалось Alexanderos, 14.06.2012 в 17:21.
Ответить с цитированием
  #13 (permalink)  
Старый 14.06.2012, 17:35
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

Alexanderos,
Мну думает, что это из-за того -, что Вы элемент включаете, тестя куки не через toggle - каким макаром оно узнает что Вы его включали ? вот и получается клик двух разовый,
imxo проще тестить куки и сворачивать - разворачивать двумя функциями в зависимости от кука.. нафига там toggle ?

По клику на кнопку - анализируете кук, меняете кук и направляете на ту или иную функцию
Ответить с цитированием
  #14 (permalink)  
Старый 14.06.2012, 17:47
Интересующийся
Отправить личное сообщение для Alexanderos Посмотреть профиль Найти все сообщения от Alexanderos
 
Регистрация: 27.09.2010
Сообщений: 29

Сообщение от Deff Посмотреть сообщение
Alexanderos,
... По клику на кнопку - анализируете кук, меняете кук и направляете на ту или иную функцию
Делал так изначально... хорошо, переделаю все обратно и попробую посмотреть что получится...

Я верно мыслю?

$("#btn-panel-slide").click (function () {

     ЕСЛИ в куках есть 'ACTIVE' - задвинуть панель
     ИНАЧЕ выдвинуть панель

});
Ответить с цитированием
  #15 (permalink)  
Старый 14.06.2012, 18:08
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

Alexanderos,
Секунду - а если при активной куке... просто добавлять параллельно и программный клик ?

Последний раз редактировалось Deff, 14.06.2012 в 18:13.
Ответить с цитированием
  #16 (permalink)  
Старый 14.06.2012, 18:12
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

$(document).ready(function(){
	if (($.cookie('cookie_panel_status')) == 'active') {
		$("#panel .region-inner").animate({top:"0px"}, 1);
*!*
		$('#btn-panel-slide').click();
*/!*
	}
	else {
		$("#panel .region-inner").animate({top:-($("#panel .region-inner").height() - 20) + "px"}, 1);
	}	
	
	$('#btn-panel-slide').toggle(function () {	
		$("#panel .region-inner").animate({top:"0px"}, 500);
		$('#btn-panel-slide').addClass("active");
		$.cookie('cookie_panel_status', 'active', { expires: 7, path: '/' });
	}, function() {
		$("#panel .region-inner").animate({top:-($("#panel .region-inner").height() - 20) + "px"}, 500);
		$('#btn-panel-slide').removeClass("active");
		$.cookie('cookie_panel_status', '', { expires: 7, path: '/' });
	});
});

Последний раз редактировалось Deff, 14.06.2012 в 18:39.
Ответить с цитированием
  #17 (permalink)  
Старый 14.06.2012, 18:44
Интересующийся
Отправить личное сообщение для Alexanderos Посмотреть профиль Найти все сообщения от Alexanderos
 
Регистрация: 27.09.2010
Сообщений: 29

Добавил строку - изменений не наблюдаю.
Ответить с цитированием
  #18 (permalink)  
Старый 14.06.2012, 19:49
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

Alexanderos,
Нун вот так:
$(document).ready(function(){
	var panelHeight = $("#panel .region-inner").height();
	var panelTop = panelHeight - 20;

	if (($.cookie('cookie_panel_status')) == 'active') {
*!*
		$("#panel .region-inner").animate({top: 0 + "px"}, 1, "linear", function(){
		  $('#btn-panel-slide').click()
		});
*/!*
	}
	else {
		$("#panel .region-inner").animate({top: "-" + panelTop + "px"}, 1);
	}
	
	$('#btn-panel-slide').toggle(function () {
		$('#btn-panel-slide').addClass("active");
		$.cookie('cookie_panel_status', 'active', { expires: 7, path: '/' });
		$("#panel .region-inner").animate({top: 0 + "px"}, 500);

	   
	}, function() {

		$("#panel .region-inner").animate({top: "-" + panelTop + "px"}, 500);
		$('#btn-panel-slide').removeClass("active");
		$.cookie('cookie_panel_status', '', { expires: 7, path: '/' });
	});

});

Последний раз редактировалось Deff, 14.06.2012 в 20:14.
Ответить с цитированием
  #19 (permalink)  
Старый 14.06.2012, 20:23
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

Или даже так - покрасивше
$(document).ready(function(){
	var AnimateTime=500;
	var panelHeight = $("#panel .region-inner").height();
	var panelTop = panelHeight - 20;


	$('#btn-panel-slide').toggle(function () {
		$('#btn-panel-slide').addClass("active");
		$.cookie('cookie_panel_status', 'active', { expires: 7, path: '/' });
		$("#panel .region-inner").animate({top: 0 + "px"}, AnimateTime);

	   
	}, function() {

		$("#panel .region-inner").animate({top: "-" + panelTop + "px"}, AnimateTime);
		$('#btn-panel-slide').removeClass("active");
		$.cookie('cookie_panel_status', '', { expires: 7, path: '/' });
	});

	if (($.cookie('cookie_panel_status')) == 'active') {
		AnimateTime=1;
		$('#btn-panel-slide').addClass("active");
		$('#btn-panel-slide').click();
		AnimateTime=500;
	}
	else {
		$("#panel .region-inner").animate({top: "-" + panelTop + "px"}, 1);
	}
});
Ответить с цитированием
  #20 (permalink)  
Старый 18.06.2012, 16:14
Интересующийся
Отправить личное сообщение для Alexanderos Посмотреть профиль Найти все сообщения от Alexanderos
 
Регистрация: 27.09.2010
Сообщений: 29

Deff, спасибо, все работает вроде как надо!
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Динамически загружаемая jQuery и jQuery-функции в одном файле 67bytes Общие вопросы Javascript 6 06.03.2013 09:01
Помогите разобраться со скриптом jQuery emere jQuery 13 08.10.2011 09:46
Помогите разобраться со скриптом слайдшоу InviS jQuery 0 23.09.2010 14:47
jQuery jTreeMenu plugin Seafnox jQuery 9 12.01.2010 21:55
JQuery + FireFox NOOB jQuery 4 02.11.2009 18:16