2010-07-21 6 views
0

nous espérons que ce sera une solution facile ..jquery ajax + ligne Javascript

J'utilise ce script pour charger le contenu dans une division wih Ajax ...

$(document).ready(function() { 



$('.top_nav a').click(function(){ 

    var toLoad = $(this).attr('href')+' .content'; 
    $('.content').hide('slow',loadContent); 
    $('#load').remove(); 
    $('#header_resize').append('<span id="load">Please wait</span>'); 
    $('#load').fadeIn('normal'); 
    window.location.hash = $(this).attr('href').substr(0,$(this).attr('href').length-5); 
    function loadContent() { 


    $('.content').load(toLoad,showNewContent()) 

    } 
    function showNewContent() { 

    $('.content').show('normal',hideLoader()); 


    } 
    function hideLoader() { 
    $('#load').fadeOut('normal'); 
    } 
    return false; 

}); 

}); 

Cela fonctionne très bien! :)

Je voudrais également utiliser un plugin Fancybox sur les images qui seront chargées dans la div.

J'ai ajouté à mon index.php -

$("a#example6").fancybox({ 
     'titlePosition' : 'over'}); 

Donc, fondamentalement, je suppose que lorsque ma photo avec un ID de # exemple6 obtenu chargé dans ma page avec ajax, il serait automatiquement crochet- avec le code ci-dessus ...

Ce n'est pas le cas! Je suppose que c'est parce que l'appel de .fancybox ne fonctionne que sur les choses qui sont dans le DOM original ... Comment puis-je le faire écouter tous les futurs # example6 et déclencher le plugin en conséquence.

Ayant de sérieux problèmes avec celui-ci, et apprécierions toute aide.

Merci

Shane.

Répondre

3

Essayez de mettre l'appel qui affecte le plugin fancybox à # exemple6 dans la fonction de rappel de la charge AJAX :)

En outre, il nous aidera à vous aider si vous pouvez utiliser le bouton dans l'éditeur qui ressemble un carré de code binaire pour vous assurer que votre code apparaît correctement. Merci :)