На самом деле это довольно легко с помощью mootools (или jquery, если на то пошло).
Вам нужно всего лишь дать всем сгенерированным divs один и тот же класс и выбрать все из них и применить сворачиваемое поведение.
Это небольшой скрипт, написанный в mootools для одного из наших проектов и который может помочь вам в этом. Он извлекает все элементы с классами, которые начинаются с toggle_, а часть, которая появляется после подчеркивания, является идентификатором div, который должен управляться этим элементом управления.
Таким образом, вы генерировать butteon с классом «toggle_mydiv1», который будет переключать DIV с идентификатором «mydiv1»
Таким образом, вы можете генерировать столько элементов, сколько вы хотите и назначить поведение все из них с одного сценария.
Написано в MooTools:
window.addEvent('domready', function(){
var clickAbles = $$('form[class^=toggle_]');
clickAbles.each(function(el){
var _class = el.get('class').split(' ');
var clickElement = _class[0].replace('toggle_','');
clickElement = $$('ul.buttons li.'+clickElement+' a');
if(clickElement){
var myFx = new Fx.Tween(el,{duration: 'long'});
var myFx2 = new Fx.Tween(el,{duration: 'long'});
el.store('height', el.getSize().y);
el.store('state', 'close');
el.setStyles({'display': 'none', 'height': 0});
var todoLists = el.getElements('ul.todo_list');
clickElement.addEvent('click', function(e){
e.stop();
if(el.retrieve('state') == "close"){
el.setStyle('display','block');
myFx.start('height', [0,el.retrieve('height')]);
myFx.addEvent('complete', function(){
todoLists.setStyles({'overflow': 'auto'});
el.store('state', 'open');
});
} else {
if(el.retrieve('state') == "open"){
myFx2.start('height', [el.retrieve('height'),0]);
myFx2.addEvent('complete', function(){
el.setStyles({'display': 'none', 'height': 0});
todoLists.setStyles({'overflow': 'hidden'});
el.store('state', 'close');
});
}
}
});
}
});
});
пожалуйста предоставляют коды, которые вы сделали до сих пор так, что некоторые из нас, кто предпочитает понимание кода может понять ваш вопрос лучше =) – mauris
Это будет один из тех «использования jquery "вопросы? – cletus