AJAX加载后html5lightbox工作不更 [英] html5lightbox not working after ajax load more

查看:410
本文介绍了AJAX加载后html5lightbox工作不更的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有这么多的图像的产品页面。我使用AJAX加载更多加载额外的产品图片。但html5lightbox不工作在阿贾克斯负载更多的产品。这是我的code,

 <脚本类型=文/ JavaScript的>
    <?PHP如果($ hasLoadMore){>

        $('#loadMore)。点击(函数(事件){
            / *对事件法* /
            $按钮= $(本);
            $(本).prop(已禁用,真正的);
            无功补偿数=($('#偏移)VAL());
            VAR限额= $('#限值)VAL()。
            $阿贾克斯({
                网址:ajax_walltiles.php,
                键入:POST,
                数据:{parent_category:'< PHP的echo $ parentCateogry; ?>',product_limit:$(#product_limit)VAL(),偏移: offset+1,limit:limit,order_field:$('#order_field').val(),order_by:$('#order_by').val(),parent_page_id:$("#parent_page_id").val()}
            })
            .done(功能(数据){
                $ button.prop(已禁用,假);
                如果(数据!=空)
                {
                    $(#偏置)VAL(偏移+ 1);
                    $('#category_contents')追加(数据);
                    $('#网格)。mixitup({
                        效果:['淡出','规模','模糊'],
                        transitionSpeed​​:500
                    });
                    $(本).prop(已禁用,假);
                }
                其他
                {
                    $(#loadMore)隐藏()。
                }
            });

        });

        $('#loadMore)。点击(函数(){
            $('#category_contents)显示()。

        < PHP}&GT?;
    });
< / SCRIPT>
 

解决方案

试试这个,

  .done(功能(数据){
    $ button.prop(已禁用,假);
    如果(数据!=空){
        $(#偏置)VAL(偏移+ 1);
        $('#category_contents')追加(数据);
        $('#网格)。mixitup({
            效果:['淡出','规模','模糊'],
            transitionSpeed​​:500
        });
        $(。html5lightbox)html5lightbox(); //&所述;  - 再次初始化夹
        $(本).prop(已禁用,假);
    } 其他 {
        $(#loadMore)隐藏()。
    }
});
 

I have a product page with so many images. I am using ajax load more to load extra product images. But html5lightbox is not working on the ajax load more products. Here is my code,

<script type="text/javascript">
    <?php if( $hasLoadMore ) { ?>

        $('#loadMore').click(function(event) {
            /* Act on the event */
            $button = $(this);
            $(this).prop("disabled",true);
            var offset = Number($('#offset').val());
            var limit = $('#limit').val();
            $.ajax({
                url: 'ajax_walltiles.php',
                type: 'POST',
                data: {parent_category:'<?php echo $parentCateogry; ?>',product_limit:$("#product_limit").val(),offset: offset+1,limit:limit,order_field:$('#order_field').val(),order_by:$('#order_by').val(),parent_page_id:$("#parent_page_id").val()}
            })
            .done(function(data) {
                $button.prop("disabled",false);
                if( data != "empty" )
                {
                    $("#offset").val(offset+1);
                    $('#category_contents').append(data);
                    $('#Grid').mixitup({
                        effects: ['fade','scale','blur'],
                        transitionSpeed: 500
                    });
                    $(this).prop("disabled",false);
                }
                else
                {
                    $("#loadMore").hide();
                }
            });

        });

        $('#loadMore').click(function(){
            $('#category_contents').show();

        <?php } ?>
    });
</script>

解决方案

Try this,

.done(function (data) {
    $button.prop("disabled", false);
    if (data != "empty") {
        $("#offset").val(offset + 1);
        $('#category_contents').append(data);
        $('#Grid').mixitup({
            effects: ['fade', 'scale', 'blur'],
            transitionSpeed: 500
        });
        $(".html5lightbox").html5lightbox();//<-- initialize lightbox again
        $(this).prop("disabled", false);
    } else {
        $("#loadMore").hide();
    }
});

这篇关于AJAX加载后html5lightbox工作不更的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆