Salve a tutti,
ho utilizzato un menu accordion preso da qui:
http://javascript.html.it/script/ved...-con-mootools/
il codice che utilizzo io è lo stesso:
codice:
var stretchers = $$('div.accordion');
stretchers.each(function(item){
item.setStyles({'height': '0', 'overflow': 'hidden'});
});
window.onload = function(){ //safari cannot get style if window isnt fully loaded
var togglers = $$('h3.toggler');
var bgFx = [];
togglers.each(function(toggler, i){
toggler.defaultColor = toggler.getStyle('background-color');
//fx creation
bgFx[i] = new Fx.Color(toggler, 'background-color', {wait: false});
});
var myAccordion = new Fx.Accordion(togglers, stretchers, { opacity: false, start: 'open-first', transition: Fx.Transitions.quadOut,
onActive: function(toggler, i){
// fix top and bottom images accordingly
$('top_round').className = (i != 0) ? "top_dark" : "top_light";
$('bottom_round').className = (i != 4) ? "bottom_dark" : "bottom_light";
},
onBackground: function(toggler, i){
bgFx[i].clearTimer();
if(i != 4) {
toggler.getFirst().parentNode.setStyle('padding-bottom', '11px'); // reset styles
toggler.getFirst().parentNode.setStyle('border-bottom-color', '#fff');
}
else {
toggler.getFirst().parentNode.setStyle('padding-bottom', '5px');
toggler.getFirst().parentNode.setStyle('border-bottom-color', '#efefef');
}
toggler.setStyle('background-color', toggler.defaultColor);
toggler.getFirst().setStyle('text-decoration', 'none');
}
});
//anchors
function checkHash(){
var found = false;
$$('h3.toggler a').each(function(link, i){
if (window.location.hash.test(link.hash)){
myAccordion.showThisHideOpen(i);
found = true;
}
});
return found;
}
if (!checkHash()) myAccordion.showThisHideOpen(0);
};
try {
Window.disableImageCache();
}catch(e){}
ed nel codice utilizzo:
funziona senza problemi, ma non riesco a capire come dirgli di aprire una sezione in particolare per renderla parametrica via php successivamente...nella mootools.js che non conosco proprio bene c'è il metodo showthis(i) che credo sia quello che mi serve a me ma non riesco a farlo funzionare...spostando la classe "toggler first" uguale nisba, il metodo showThisHideOpen uguale non credo sia quello che mi serve (anche perchè provando a modificarlo non succede nulla, credo sia per mostrare l'intero pannello chiuso o aperto immagino)
Nell'inizializzazione tra i metodi c'è 'first-open' e 'open-first' (o false) ma non ho capito se c'entrano, ho modificato facendo delle prove ma appunto first-open mi apre sempre ed esclusivamente il primo eventualmente
Qualche suggerimento?
Grazie