Жава-скрипт. Помогите найти участок

В этом подфоруме общаемся на любые темы связанные со сторонними CMS, делимся собственными наработками и советами

Модераторы: Vl@d1m1r, Lorem Ipsum, Atlas

Ответить
Аватара пользователя
Lorem Ipsum
Прописался тут надолго
Прописался тут надолго
Сообщения: 1974
Стаж: 11 лет 7 месяцев
Контактная информация:

Жава-скрипт. Помогите найти участок

Сообщение Lorem Ipsum »

:wo_ol: :wo_ol: :wo_ol:
Вот код. Помогите найти участок, который отвечает за кликанье на выдвижную панель. Панель всегда открыта, а мне нужно, чтобы она была всегда закрыта и открывалась только при клике.

Код: Выделить всё

((function(){

	this.StylePanel = new Class({

		Implements: [Events, Options],

		options:{
			status: 'hide',
			maxWidth: 1288
		},

		initialize: function(element, toggle, options){
			this.setOptions(options);

			this.element = document.getElement(element) || document.id(element) || null;
			this.toggler = document.getElement(toggle) || document.id(toggle) || null;
			if (!element) throw new Error('Style Panel "' + element + '" not found in the DOM.');
			if (!toggle) throw new Error('Toggle "' + toggle + '" for Style Panel not fond in the DOM.');

			this.bounds = {
				resize: this.resizeCheck.bind(this)
			};

			this.applyElement = this.element.getElement('a.readon');
			this.size = this.element.getSize().x;

			if (window.getSize().x <= this.options.maxWidth) this.options.status = 'hide';

			this.fx = new Fx.Tween(this.element, {
				duration: 350,
				transition: 'quad:in:out',
				onComplete: this.onComplete.bind(this, this.element)
			});

			this[this.options.status](null, 'silent');
			this.onComplete(this.element);

			this.attach();
			this.attachBoxes();
		},

		attach: function(){
			this.toggler.addEvent('click', this.toggle.bind(this));
			this.element.getElements('.preset-item, .pattern-item').each(function(item){
				var click = item.retrieve('stylepanel:itemclick', function(event){
					this.click.call(this, event, item);
				}.bind(this));

				item.addEvent('click', click);
			}, this);

			var applyEvent = this.applyElement.retrieve('stylepanel:applyclick', function(event){
				if (event) event.preventDefault();
				this.applyStyles.call(this, this.applyElement);
			}.bind(this));

			this.applyElement.addEvent('click', applyEvent);
			window.addEvent('resize', this.bounds.resize);
		},

		detach: function(){
			this.toggler.removeEvents();
			this.element.getElements('.preset-item, .pattern-item').each(function(item){
				var click = item.retrieve('stylepanel:itemclick');
				item.removeEvent('click', click);
			}, this);

			var applyClick = this.applyElement['stylepanelitemclick'];
			this.applyElement.removeEvent('click', applyClick);
			window.removeEvent('resize', this.bounds.resize);
		},

		show: function(event, silent){
			this.fx[silent ? 'set' : 'start']('left', 0);
		},

		hide: function(event, silent){
			for(var rainbow in window['moorainbow']){
				if (window['moorainbow'][rainbow].visible){
					window['moorainbow'][rainbow].hide();
				}
			}
			this.fx[silent ? 'set' : 'start']('left', -this.size);
		},

		toggle: function(event, silent){
			var current = this.element.getStyle('left').toInt();
			this[!current ? 'hide' : 'show'](event, silent);
		},

		click: function(event, element){
			if (element.className.contains(' style')) return true;

			if (event) event.preventDefault();
			element.getParent('.presets-block').getElements('.preset-item, .pattern-item').removeClass('active');
			element.addClass('active');
		},

		onComplete: function(element){
			var status = element.getStyle('left').toInt();
			this.toggler.removeClass('pig').removeClass('turkey');
			this.toggler.addClass(!status ? 'pig' : 'turkey');
		},

		resizeCheck: function(){
			if (window.getSize().x <= this.options.maxWidth && this.element.getStyle('left').toInt() === 0){
				this.hide();
			}

			if (window.getSize().x > this.options.maxWidth && this.element.getStyle('left').toInt() < 0){
				this.show();
			}
		},

		attachBoxes: function(){
			GantryColorChooser.add('style-panel-bgcolor', false);
			GantryColorChooser.add('style-panel-accentcolor', false);
		},

		applyStyles: function(element){
			var query = "", pattern = this.element.getElement('.active'),
				bgColor = this.element.getElement('#style-panel-bgcolor'),
				accentColor = this.element.getElement('#style-panel-accentcolor'),
				href = element.get('href');

			query += 'bg-background=' + encodeURIComponent(bgColor.get('value'));
			query += '&accent-color=' + encodeURIComponent(accentColor.get('value'));
			query +=  (pattern) ? '&bg-pattern=' + pattern.get('rel') : '';

			if (href.contains('&')) href += '&' + query;
			else href += '?' + query;

			window.location = href;
		}

	});

	var ScrollSpy = new Class({

		/* implements */
		Implements: [Options,Events],

		/* options */
		options: {
			container: window,
			max: 0,
			min: 0,
			mode: 'vertical'/*,
			onEnter: $empty,
			onLeave: $empty,
			onScroll: $empty,
			onTick: $empty
			*/
		},

		/* initialization */
		initialize: function(options) {
			/* set options */
			this.setOptions(options);
			this.container = document.id(this.options.container);
			this.enters = this.leaves = 0;
			this.inside = false;

			/* listener */
			var self = this;
			this.listener = function(e) {
				/* if it has reached the level */
				var position = self.container.getScroll(),
					xy = position[self.options.mode == 'vertical' ? 'y' : 'x'];
				/* if we reach the minimum and are still below the max... */
				if(xy >= self.options.min && (self.options.max === 0 || xy <= self.options.max)) {
						/* trigger enter event if necessary */
						if(!self.inside) {
							/* record as inside */
							self.inside = true;
							self.enters++;
							/* fire enter event */
							self.fireEvent('enter',[position,self.enters,e]);
						}
						/* trigger the "tick", always */
						self.fireEvent('tick',[position,self.inside,self.enters,self.leaves,e]);
				}
				/* trigger leave */
				else if(self.inside){
					self.inside = false;
					self.leaves++;
					self.fireEvent('leave',[position,self.leaves,e]);
				}
				/* fire scroll event */
				self.fireEvent('scroll',[position,self.inside,self.enters,self.leaves,e]);
			};

			/* make it happen */
			this.addListener();
		},

		/* starts the listener */
		start: function() {
			this.container.addEvent('scroll',this.listener);
		},

		/* stops the listener */
		stop: function() {
			this.container.removeEvent('scroll',this.listener);
		},

		/* legacy */
		addListener: function() {
			this.start();
		}
	});


	window.addEvent('domready', function(){
		var panel = document.getElement('.style-panel-container'),
			sp = new StylePanel('.style-panel-container', '.style-panel-toggle', {status: 'show'});
			ss = new ScrollSpy({
				min: 150,
				onEnter: function(){ panel.setStyle('position', 'fixed'); },
				onLeave: function(){ panel.setStyle('position', 'absolute'); },
				onTick: function(){
					for(var rainbow in window['moorainbow']){
						if (window['moorainbow'][rainbow].visible){
							window['moorainbow'][rainbow].rePosition();
						}
					}
				}
			});

		window.fireEvent('scroll');
	});

})());
Я уже прошел тот период когда можно было забывать про очистку кеша ©salexcorp
#1
Аватара пользователя
Lorem Ipsum
Прописался тут надолго
Прописался тут надолго
Сообщения: 1974
Стаж: 11 лет 7 месяцев
Контактная информация:

Жава-скрипт. Помогите найти участок

Сообщение Lorem Ipsum »

Вот, например, в чём разница между click, applyclick и itemcklick?
Я уже прошел тот период когда можно было забывать про очистку кеша ©salexcorp
#2
Аватара пользователя
DeaDRoMeO
Старожил Форума
Старожил Форума
Сообщения: 16763
Стаж: 13 лет
Откуда: Витебск
Контактная информация:

Жава-скрипт. Помогите найти участок

Сообщение DeaDRoMeO »

Для меня ява вообще темный лес)
На вопросы, связанные с phpBB, по ЛС не отвечаю !!!
#3
Аватара пользователя
Lorem Ipsum
Прописался тут надолго
Прописался тут надолго
Сообщения: 1974
Стаж: 11 лет 7 месяцев
Контактная информация:

Жава-скрипт. Помогите найти участок

Сообщение Lorem Ipsum »

Akella? kulyasov?
Я уже прошел тот период когда можно было забывать про очистку кеша ©salexcorp
#4
Аватара пользователя
akella1900
Хорошо тут живется
Хорошо тут живется
Сообщения: 1568
Стаж: 11 лет 3 месяца
Откуда: Слявный город Николяев :-)
Контактная информация:

Жава-скрипт. Помогите найти участок

Сообщение akella1900 »

я тож не силен, мне бы посмотреть хоть как это выглядит , там скролл вертикальный?
back'up придумали трусы Ваша воля моими руками, но платно. Стучим в skype akella1900.
#5
Аватара пользователя
Lorem Ipsum
Прописался тут надолго
Прописался тут надолго
Сообщения: 1974
Стаж: 11 лет 7 месяцев
Контактная информация:

Жава-скрипт. Помогите найти участок

Сообщение Lorem Ipsum »

akella1900,
http://demo.rockettheme.com/phpbb3/?style=ionosphere
Я уже прошел тот период когда можно было забывать про очистку кеша ©salexcorp
#6
Viktor.Bakumtsev
Зашел немного посидеть
Зашел немного посидеть
Сообщения: 53
Стаж: 11 лет 2 месяца
Контактная информация:

Жава-скрипт. Помогите найти участок

Сообщение Viktor.Bakumtsev »

Найти

Код: Выделить всё

return true
заменить на

Код: Выделить всё

return false
#7
Viktor.Bakumtsev
Зашел немного посидеть
Зашел немного посидеть
Сообщения: 53
Стаж: 11 лет 2 месяца
Контактная информация:

Жава-скрипт. Помогите найти участок

Сообщение Viktor.Bakumtsev »

Или найти

Код: Выделить всё

status: 'show'
заменить на

Код: Выделить всё

status: 'closed'
#8
Аватара пользователя
Lorem Ipsum
Прописался тут надолго
Прописался тут надолго
Сообщения: 1974
Стаж: 11 лет 7 месяцев
Контактная информация:

Жава-скрипт. Помогите найти участок

Сообщение Lorem Ipsum »

да заменяла я это уже по сто раз. не работает.
я тоже поначалу думала, что здесь всё просто.
Последний раз редактировалось Lorem Ipsum 18 мар 2013, 21:39, всего редактировалось 1 раз.
Я уже прошел тот период когда можно было забывать про очистку кеша ©salexcorp
#9
Аватара пользователя
akella1900
Хорошо тут живется
Хорошо тут живется
Сообщения: 1568
Стаж: 11 лет 3 месяца
Откуда: Слявный город Николяев :-)
Контактная информация:

Жава-скрипт. Помогите найти участок

Сообщение akella1900 »

Lorem Ipsum писал(а):akella1900,
http://demo.rockettheme.com/phpbb3/?style=ionosphere
это та что слева? она там изначально закрыта
back'up придумали трусы Ваша воля моими руками, но платно. Стучим в skype akella1900.
#10
Аватара пользователя
Lorem Ipsum
Прописался тут надолго
Прописался тут надолго
Сообщения: 1974
Стаж: 11 лет 7 месяцев
Контактная информация:

Жава-скрипт. Помогите найти участок

Сообщение Lorem Ipsum »

akella1900 писал(а):это та что слева? она там изначально закрыта
Да, которая слева. Она изначально всегда открыта, но задвигается, если сильно сократить экран.
Вот это, видимо, регулирует

Код: Выделить всё

 options:{
         status: 'hide',
         maxWidth: 1288
      },
Можно хотя бы увеличить расстояние, чтобы оно постоянно было как бы задвинуто (нафиг). Я подставляла разные цифры, но панель не реагирует зараза :de_vil:
Может, там отрицательное значение подставить?...
Я уже прошел тот период когда можно было забывать про очистку кеша ©salexcorp
#11
Аватара пользователя
akella1900
Хорошо тут живется
Хорошо тут живется
Сообщения: 1568
Стаж: 11 лет 3 месяца
Откуда: Слявный город Николяев :-)
Контактная информация:

Жава-скрипт. Помогите найти участок

Сообщение akella1900 »

Странно я когда зашел по ссылку то панель слева по умолчанию скрыта
вот скрин

и только по нажатию на ярлыке открывает

или мы о разных вещах пишем? мож не туда смотрю))
back'up придумали трусы Ваша воля моими руками, но платно. Стучим в skype akella1900.
#12
Аватара пользователя
Lorem Ipsum
Прописался тут надолго
Прописался тут надолго
Сообщения: 1974
Стаж: 11 лет 7 месяцев
Контактная информация:

Жава-скрипт. Помогите найти участок

Сообщение Lorem Ipsum »

akella1900, на скрине видно, что расстояние от тела форума до панели маленькое, это значит, что панель задвинулась. Если окно расширить, то панель вылезает. У меня широкий экран и у большинства юзеров тоже, эта панель как бельмо на глазу, раздражает до нервного тика.
Я уже прошел тот период когда можно было забывать про очистку кеша ©salexcorp
#13
Аватара пользователя
akella1900
Хорошо тут живется
Хорошо тут живется
Сообщения: 1568
Стаж: 11 лет 3 месяца
Откуда: Слявный город Николяев :-)
Контактная информация:

Жава-скрипт. Помогите найти участок

Сообщение akella1900 »

а если ставить не максимальную ширину, а просто ширину и поиграть числами, нет на чем экспериментировать а то до винтика можно разобрать ))
back'up придумали трусы Ваша воля моими руками, но платно. Стучим в skype akella1900.
#14
Аватара пользователя
Lorem Ipsum
Прописался тут надолго
Прописался тут надолго
Сообщения: 1974
Стаж: 11 лет 7 месяцев
Контактная информация:

Жава-скрипт. Помогите найти участок

Сообщение Lorem Ipsum »

akella1900 писал(а):ставить не максимальную ширину, а просто ширину и поиграть числами
Ставила и простую, и минимальную, и цифры разные. Ладно, отбой. Пока найдёшь решение, стиль уже возненавидишь, оно мне надо?
Другие стили есть.
Я уже прошел тот период когда можно было забывать про очистку кеша ©salexcorp
#15
Аватара пользователя
akella1900
Хорошо тут живется
Хорошо тут живется
Сообщения: 1568
Стаж: 11 лет 3 месяца
Откуда: Слявный город Николяев :-)
Контактная информация:

Жава-скрипт. Помогите найти участок

Сообщение akella1900 »

если никому та панель не нужна то отключить
back'up придумали трусы Ваша воля моими руками, но платно. Стучим в skype akella1900.
#16
Ответить