【问题标题】:DOM not updating after changing slick-carousel's html with ajax使用 ajax 更改 slick-carousel 的 html 后 DOM 未更新
【发布时间】:2017-02-09 03:54:27
【问题描述】:

我的 slick carousel 在 body 内部定义为:

<div class="election-carousel">
      <?php echo Election.php::createView(); ?>
</div>

轮播的项目是使用间隔 ajax 调用创建的,但轮播没有更新:

  setInterval(function(){
            $.ajax({
                url: '../class/Election.php?createView=1',
                success: function (html) {
                    $(".election-carousel").html(html);
                },
                type: 'GET'
            });
        }, 5000);

我在加载轮播项目后检查了页面源,它​​就在那里。我也试过 .slick("unslick") 然后重新初始化,但它不起作用。好像是 DOM 没有更新?

【问题讨论】:

    标签: javascript jquery slick.js


    【解决方案1】:

    您应该在每次加载数据时执行 slickAdd 和 slickRemove

    setInterval(function(){
                $.ajax({
                    url: '../class/Erection.php?createView=1',
                    success: function (html) {
                       $('.erection-carousel').slick('slickRemove',0); //remove elements starting with child 0
                       $('.erection-carousel').slick('slickAdd',html); //re-add new html
                    },
                    type: 'GET'
                });
            }, 5000);
    

    【讨论】:

    • “安装旋转木马”哈哈!
    猜你喜欢
    • 2015-02-25
    • 2018-06-17
    • 2017-11-27
    • 1970-01-01
    • 2019-05-12
    • 2019-03-25
    • 2021-06-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多