Valószínűleg nem a megosztás miatt, sokkal inkább saját magamnak készítek memoárt.
Az alábbi programrész annyit csinál, hogy vannak az oldalon Slide effekttel lenyíló div-ek. Mivel ezen divek további linkeket tartalmaznak aloldalakra, azt szerettem volna elérni, hogy ha visszajövök a kezdőlapra, akkor amit korábban lenyitottam, az meg is maradjon lenyitva. Ehhez a lenyíló div id-jét PHP session-be mentem, és amikor létrehozom a slidereket, ellenőrzöm, hogy korábban nyitva volt-e. Ha igen, akkor úgy állítjuk elő a lap betöltésekor.
Egy kis kódrészlet Mootools alá.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
<script type="text/javascript"> window.addEvent('domready', function() { var mySliders = $$('div[class=telephely_lenyilo]'); Array.each(mySliders, function(myobj, index){ var slider_id = $(myobj).id; var rel = $(myobj).getAttribute('rel'); var myslide = new Fx.Slide('slide'+rel); myslide.hide(); // AJAX REQUEST, EZ LEKERDEZI A SLIDER ALAPOTAT, AMIKOR LETREHOZZUK AZ EFFEKTET var slide_toggle_check = new Request.JSON({ method: 'get', url: '/ajax/useracc_ajax.php', onSuccess: function(responseJSON){ if(responseJSON.slide_status == '1') myslide.show(); else myslide.hide(); } }).get({'do': 'get_slide_state', 'slide_id': rel}); // AJAX REQUEST, AMI SESSIONBE MENTI EL A SLIDER ALLAPOTAT, CSAK ONCLICKHEZ var slide_toggle_set = new Request({method: 'get', url: '/ajax/useracc_ajax.php'}); $(slider_id).addEvents({ click: function(e){ e = new Event(e); myslide.toggle(); slide_toggle_set.send('do=slide_toggle&slide_id='+rel); e.stop();}, mouseover: function() {this.setStyle('background-color', 'orange');}, mouseout: function() {this.setStyle('background-color', '#FFEFAC');} }); }); }); </script> |