Ajax and Graybox
Ik had een vraagje ik ben bezig met een website te maken met flash en ajax. Nu heb ik het voor elkaar gekregen om via een flashbutton een pagina in een andere div te laden dmv ajax. Maar als ik in deze div via een link mijn graybox wil openen doet hij dat niet.
Voorbeeld: www.sreeb.nl/kijk/faq.php (Hier werkt hij wel... )
Voorbeeld:www.sreeb.nl/kijk de normale website dan doet hij het niet meer.
Het lijkt erop alsof hij het doordat ik ajax gebruik de andere javasrcipts niet meer pakt:S?
Weet iemand hier een oplossing voor?
groetjes edwin
Weet niemand hier iets op?
Ik denk dat niemand je vraag begrijpt...
Als ik een andere pagina dmv ajax in een div laad. En de pagina in die div bevat een javascript code, dan pakt hij deze javascript niet.
Terwijl als ik deze pagina appart laad dan doet javascript het wel...
Hoop dat ik het zo iets beter heb uitgelegd:D
groejtes edwin
het probleem zit in het volgende...je thickbox initialiseert op het moment dat het document geladen is. echter op het moment dat je nieuwe html inlaadt met ajax ,en deze dus niet aanwezig was op het moment van initialiseren,heeft thickbox niet zijn events gehangen aan die bepaalde elementen. je zal dus het initialize event opnieuw moeten aanroepen nadat je html in de div is geplaatst.
Maar ga dus eerst netjes, overzichtelijk en logisch werken. Dan zijn dit soort problemen prima op te lossen. Maar zoals het nu in elkaar geharkt is, is het een werkelijk drama.
succes!
Kijk harstikke bedankt voor je antwoord ik heb nu in iedergeval het probleem dat hij heel de pagina laad we gedaan. Ik heb alleen de in houd zonder stylesheet en die andere shit:)
Maar hoe kan ik de tickbox opnieuw aanropen. Ik las ook iets dat je met eval kon werken maar daar kwam ik niet helmaal uit:(
Hopelijk kan iemand mij verder helpen!
Super bedankt alvast!
Groejtes edwin
Dus als ik het goed begrijp moet de code van de domchunk er nu zo uit zien
//add thickbox to href & area elements that have a class of .thickbox
function tb_init(domChunk){
$(domChunk).click(function(){
var t = this.title || this.name || null;
var a = this.href || this.alt;
var g = this.rel || false;
tb_show(t,a,g);
tb_init('cntn_wrpr');
this.blur();
return false;
});
}
Ik heb het net even getest en hoe die zoals ie hierboven staat in mijn js bestand staat werkt het helaas niet:(
HOpelijk had ik het fout zodat hij straks wel werkt:)
groetjes edwin
Heb het via een hack gedaan, niet de mooiste manier maar wel effectief:
<img src="img/trans.gif" width="1" height="1" onload="tb_init('a.thickbox, area.thickbox, input.thickbox');" />
Deze heb ik boven aan mijn pagina gezet.. Hij werkt wel maar ben nog wel benieuwd hoe ik dit op een nette manier kan afhandelen:)
bedankt alvast:)
groetjes Edwin
tb_init verwacht maar 1 parameter, en jij geeft er 3 mee, de 2e en 3e worden gewoon genegeerd. je moet gewoon je cntn_wrpr meegeven, de functie werkt recursief en zal dus alle elementen tegen komen die in je cntn_wrpr zitten.
tevens moet je die tb_init aanroep uit die functie halen, dat was niet wat ik bedoelde... nu roept ie functie constant zichzelf aan en creeer je een oneindige aanroep. weghalen dus!