javascript - 使用ajax更改slick-carousel的html后,DOM未更新

标签 javascript jquery slick.js

我的光滑轮播在主体内部定义为:

<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 没有更新?

最佳答案

每次加载数据时都应该执行 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);

关于javascript - 使用ajax更改slick-carousel的html后,DOM未更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28998308/

相关文章:

javascript - 使用 JavaScript 事件模拟悬停

javascript - 无法计算 Javascript 循环

javascript - console.log 返回函数而不是返回整数

javascript - 浏览器对 JavaScript 版本的支持

javascript - 使用 slickjs 手动滑动

jquery - 使用 Angular Slick 轮播组件实现分层幻灯片

javascript - 光滑的 slider - 将新项目添加到中心

javascript - 在Javascript中将随机选择的类添加到相同id的div中

php - 检查是否启用了 Javascript

jquery - 使用 jQuery cookie.js 来记住隐藏/显示元素?