Помогите совладать с accordion (mootools), пожалуйста

LIN
На сайте с 22.04.2006
Offline
114
LIN
762

Для тех, кто сталкивался со знакомым многим accordion в мутулсе.

Проблема в том, как сделать так, чтобы изначально открывался не первый таб, а другой,

у которого, скажем класс или id = active?

Демка скрипта: http://torkiljohnsen.com/demo/accordion2/

Заранее спасибо за советы.

viКing
На сайте с 20.03.2008
Offline
124
#1

попробуй добавить класс activeButton к нужному табу

LIN
На сайте с 22.04.2006
Offline
114
LIN
#2

Пробовал. В этом случае логика мне не помогла =(

viКing
На сайте с 20.03.2008
Offline
124
#3

В файле mootools.js


Fx.Accordion = Fx.Elements.extend({

extendOptions: function(options){
Object.extend(this.options, Object.extend({
start: 'open-first',
fixedHeight: false,
fixedWidth: false,
alwaysHide: false,
wait: false,
onActive: Class.empty,
onBackground: Class.empty,
height: true,
opacity: true,
width: false
}, options || {}));
},

initialize: function(togglers, elements, options){
this.parent(elements, options);
this.extendOptions(options);
this.previousClick = 'nan';
togglers.each(function(tog, i){
$(tog).addEvent('click', function(){this.showThisHideOpen(i)}.bind(this));
}, this);
this.togglers = togglers;
this.h = {}; this.w = {}; this.o = {};
this.elements.each(function(el, i){
this.now[i+1] = {};
$(el).setStyles({'height': 0, 'overflow': 'hidden'});
}, this);
switch(this.options.start){
case 'first-open': this.elements[0].setStyle('height', this.elements[0].scrollHeight); break;
case 'open-first': this.showThisHideOpen(0); break;
}
},

в последней строке заменяем this.showThisHideOpen(0) на this.showThisHideOpen(1) если хочешь чтобы был открытым второй блок, а не первый.... ну и так далее по аналогии, думаю разберешься

LIN
На сайте с 22.04.2006
Offline
114
LIN
#4

С этим я разобрался.

Вопрос в том, можно ли выводить этот параметр в html.

Т.е. ситуация такая:

У меня есть категория и в ней элементы. Сейчас они выводятся в структуре:

<h3 class="toggler">cat</h3>
<div class="element">
---
---
---
</div>

<h3 class="toggler">cat</h3>
<div class="element">
---
---
---
</div>

php скрипт определяет, в какой подкатегории мы сейчас находимся и можно передать параметр

для div или заголовка, например, что он "активный".

Залезать и копаться в js через php не очень удобно.

Поэтому я и подумал, может кто-то подскажет, как дописать, чтобы можно было передавать "активность" таба через html, если уже сталкивался с подобной задачей.

LIN добавил 18.09.2008 в 21:46

viКing, спасибо за советы.

Разобрался сам, но только уже с помощью jquery.

http://jquery.bassistance.de/accordion/demo/

Там как раз можно дописывать класс (.selected)

Надеюсь, этот топик поможет другим, кто столкнется с этой же проблемкой.

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий