Ausführen von jquery-Funktion erneut nach dem ajax-call

Gibt es eine Möglichkeit, ein Skript auszuführen, wieder nach einem ajax-call?

Ich habe photoswipe (lightbox) - jquery-plug-in ich call so:

jQuery(document).ready(function($){

    if( $('.img-frame a').length > 0 ){

        var myPhotoSwipe = $(".img-frame a").photoSwipe();

     }
});

Ich habe auch ein ajax laden mehr Beiträge " - Funktion, und natürlich photoswipe zielt nicht geladene Bilder nach dem ersten laden der Seite.

Habe ich nicht mehr viel ajax-Kenntnisse, jede Hilfe auf diesem? Dank

UPDATE: Hier ist der 'laden' - Skript:

jQuery(document).ready(function($) {

    //The number of the next page to load (/page/x/).
    var pageNum = parseInt(djwd_load_posts.startPage) + 1;

    //The maximum number of pages the current query can return.
    var max = parseInt(djwd_load_posts.maxPages);

    //The link of the next page of posts.
    var nextLink = djwd_load_posts.nextLink;

    /**
     * Replace the traditional navigation with our own,
     * but only if there is at least one page of new posts to load.
     */
    if(pageNum <= max) {
        //Insert the "More Posts" link.
        $('#content')
            .append('<div class="lp-placeholder-'+ pageNum +'"></div>')
            .append('<p id="lp-load-posts" class="long-button"><a href="#">Load More Posts<i class="icon-chevron-down icon-large"></i></a></p>');

        //Remove the traditional navigation.
        $('#nav-below').remove();
    }


    /**
     * Load new posts when the link is clicked.
     */
    $('#lp-load-posts a').click(function() {

        //Are there more posts to load?
        if(pageNum <= max) {

            //Show that we're working.
            $(this).text('Loading posts...');

            $('.lp-placeholder-'+ pageNum).load(nextLink + ' .post',
                function() {

                    $( this ).hide().fadeIn(700);

                    //Update page number and nextLink.
                    pageNum++;
                    nextLink = nextLink.replace(/\/page\/[0-9]?/, '/page/'+ pageNum);

                    //Add a new placeholder, for when user clicks again.
                    $('#lp-load-posts')
                        .before('<div class="lp-placeholder-'+ pageNum +'"></div>')

                    //Update the button message.
                    if(pageNum <= max) {
                        $('#lp-load-posts a').text('Load More Posts');
                    } else {
                        $('#lp-load-posts a').text('No more posts to load.');
                    }
                }
            );
        } else {
            $('#lp-load-posts a').append('.');
        }   

        return false;
    });
});

Nenne ich es in WordPress functions.php auf diese Weise:

 function djwd_ajax_load_init() {
    global $wp_query;

    if( !is_singular() ) {
        wp_enqueue_script('ajax-load-posts', get_template_directory_uri() . '/js/ajax-load-posts.js', array('jquery'), true );

        $max = $wp_query->max_num_pages;
        $paged = ( get_query_var('paged') > 1 ) ? get_query_var('paged') : 1;

        wp_localize_script(
            'ajax-load-posts',
            'djwd_load_posts',
            array(
                'startPage' => $paged,
                'maxPages' => $max,
                'nextLink' => next_posts($max, false)
            )
        );
    }
 }
 add_action('template_redirect', 'djwd_ajax_load_init');
wie machst du den ajax-Aufruf?
Bewegen Sie Ihre code-Funktion und rufe diese Funktion in $(document).ready() und nach ajax-request
Ich habe bearbeitet die Frage, mit all den zugehörigen code

InformationsquelleAutor djwd | 2012-12-14

Schreibe einen Kommentar