簡體   English   中英

WordPress AJAX發布后觸發Flexslider

[英]Triggering Flexslider after WordPress AJAX post load

我通過Ajax加載帖子,每個帖子都有一個Flexslider(2)輪播,該鏈接不會加載。 我認為這可能與發布時間有關-Flexslider腳本在發布加載之前運行,因此不會被觸發。 我嘗試了一個回調函數,並將Flexslider綁定到成功調用,但無法使其正常工作。 有理想的方法嗎?

(Flexslider在Ajax內容之外的頁面上運行良好。)

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

        $(".events_link").click(function () {
            var eventname = $(this).attr('id');
            var ajaxurl = "<?php echo admin_url('admin-ajax.php'); ?>";
            jQuery.ajax({
                type: 'POST',
                url: ajaxurl,
                data: {
                    action: "all_event",
                    eventname: eventname
                },
                success: function (response) {
                    $(".events-thumbs").html(response);
                }
            });

        });

        $('.flexslider').flexslider({
            animation: "slide",
            slideshow: "false",
            animationLoop: true,
            itemWidth: 192,
            itemMargin: 9,
            controlNav: true,
            directionNav: false
        });

    });

向成功回調添加flexslider了!

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

        $(".events_link").click(function () {
            var eventname = $(this).attr('id');
            var ajaxurl = "<?php echo admin_url('admin-ajax.php'); ?>";
            jQuery.ajax({
                type: 'POST',
                url: ajaxurl,
                data: {
                    action: "all_event",
                    eventname: eventname
                },
                success: function (response) {
                    $(".events-thumbs").html(response);
                    $('.flexslider').flexslider({
                        animation: "slide",
                        slideshow: "false",
                        animationLoop: true,
                        itemWidth: 192,
                        itemMargin: 9,
                        controlNav: true,
                        directionNav: false
                    });
                }
            });

        });

    });

解決方案是將flexslider函數添加到Ajax成功調用中,作為另一個函數:

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

    $(".events_link").click(function () {
        var eventname = $(this).attr('id');
        var ajaxurl = "<?php echo admin_url('admin-ajax.php'); ?>";
        jQuery.ajax({
            type: 'POST',
            url: ajaxurl,
            data: {
                action: "all_event",
                eventname: eventname
            },
            success: function (response) {
                $(".events-thumbs").html(response);
                $('.flexslider').flexslider({
                    animation: "slide",
                    slideshow: "false",
                    animationLoop: true,
                    itemWidth: 192,
                    itemMargin: 9,
                    controlNav: true,
                    directionNav: false
                });
            }
        });

    });

});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM