Beste PHP'ers,

Ik vraag jullie hulp met betrekking tot 2 problemen die ik heb. Ik maak gebruik van xajax om ajax calls te doen met PHP.

1. Lightbox i.c.m. Xajax

Dit wil dus niet werken. Ik weet wel waar het probleem zit, maar de oplossing die ik heb gevonden (zoals op andere fora werd verteld) werken niet. Het probleem zit hem er in dat lightbox geladen is als de DOM klaar is met laden. Deze initialiseert alle afbeeldingen op een pagina en kijkt naar de rel="lightbox". Het probleem waar ik mee zit is dat ik mijn afbeeldingen in een DIV in laad nadat dit alles is gebeurd d.m.v. xajax. IK laad standaard thumbnails in en als onclick event wordt deze functie aangeroepen:

<?php
function getPhotos($albumid){
$response = new xajaxResponse();
$smarty = new Smarty();
$smarty->compile_dir = 'includes/templates/compile';
$smarty->template_dir = 'includes/templates';

try{
$picasa = new Picasa();
$album = $picasa->getAlbumById('user',$albumid, null, null, null, null, 200, 1024);
$smarty->assign('album', $album);
$smarty->assign('photos', $album->getImages());
$response->assign('photos','innerHTML', $smarty->fetch('picasa/photos.tpl'));
}catch(Picasa_Exception $e){
$response->alert(var_export($e, true));
}

return $response;
}
?>

Op verschillende fora heb ik gelezen dat je daarna initLightbox(); moet aanroepen. Ook dit heb ik gedaan zowel in de xajax functie als in de template. Maar hij schijnt nog steeds niet te werken.

[script]
$response->script('initLightbox();');
[/script]

Overigens werkt de lightbox bij statische images wel gewoon dus daar ligt het niet aan.


Edit: probleem opgelost met een onclick functie ipv. onload wat standaard is.

2. Ik maak gebruik van Mootools fx slide. Dit werkt allemaal lekker, alleen bij mijn fotoalbum niet.

Omdat de div achteraf wordt ingeladen in het content wordt deze onzichtbaar omdat mootools al de hele div heeft geladen op het moment dat hij uitschuift. Als ik daarna nog d.m.v. ajax een extra div in laadt valt deze weg. Als ik vervolgens de toggle functie weer aanklik zie ik wel gewoon de hele div.

[size=xsmall]Toevoeging op 25/10/2010 13:56:28:[/size]

aanvulling:

Ik kan tevens de functie photo.show() niet aanroepen, dan krijg ik undefined photo in mijn javascript console. Vreemd genoeg is dit wel de functie die wordt aangeroepen door Mootools zelf maar is dus daarbuiten niet beschikbaar?

Reageren