javascript - ajax调用后如何重新初始化Owl Carousel?

标签 javascript jquery ajax owl-carousel owl-carousel-2

我正在尝试在成功的 ajax 调用后重新初始化 owl carousel。 ajax 调用将更改数据,但 View 应保持不变。我遇到的问题是 View 轮播结构不会重新初始化。我不知道我哪里做错了。

Ajax 请求

 $(document).on('click', '.category_list', function() {
    var category_id = $(this).attr('data-id');
    var _token = $('#_token').val();
    var param = 'category_id=' + category_id + '&_token=' + _token;
    $.ajax({
        type: "POST",
        datatype: "json",
        url: "/master/sub_category",
        data: param,
        success: function(result) {
            $('#test').html(result);
            var owl = $(".owl-carousel");
            owl.owlCarousel({
                items: 4,
                navigation: true
            });
        }
    });    
});

Controller 功能

public function getImg() {
    $post_data = Request::all();
    $sub_img = $this->imgModel->getImgList($post_data);
    $sub_img_html = '';
    foreach ($sub_img ['data'] as $data_img ) {
        $img = '/img/sub_category/'.$data_img ['img'];            
        $sub_img_html .= '<div class="item">';
        $sub_img_html .= '<img src="'.$img.'" />';
        $sub_img_html .= '</div>';
    }
    echo $sub_img_html;
}

查看

<div id="demo">
    <div id="test" class="owl-carousel">
        <?php
           if (!empty($img_category)) {
              foreach ($img_category as $imgcategory){
        ?>
        <div class="item">
          <img src='/img/sub_category/<?= imgcategory['subcategory_img'] ?>'/></div>
      <?php
           }
        }
     ?>
  </div>
</div>

最佳答案

根据您的代码,我进行了更改,请应用此更改,我希望此代码能够正常工作。

success: function(result) {            
            $('#demo').html('<div id="testing" class="owl-carousel"></div>');
            for(var i=0;i<result.length;i++){
                $(".owl-carousel").append('<div class="item"><img src="/img/sub_category/'+result[i].subcategory_img+'" /></div>');
            };
            var owl = $("#testing");
            owl.owlCarousel({
                items: 4,
                navigation: true
            });

关于javascript - ajax调用后如何重新初始化Owl Carousel?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41106614/

相关文章:

javascript - 在 JavaScript 中卸载之前关闭服务器端聊天连接

javascript - 未调用 Ajax 成功/错误但 POST 正在运行

javascript - mouseclick 事件 JavaScript 在 Firefox 中不起作用

javascript - 从日期选择器获取日期

javascript - 使用 getValues 填充多维数组

javascript - Actionscript 3 调用 javascript 函数

javascript - After Effects/ExtendScript Function.caller 等效项

javascript - 如何固定位置元素,以便在将鼠标悬停在一个元素上时,其他两个元素应保持在同一位置

javascript - 使用屏幕指南突出显示 DIV 内容

javascript - 在 AJAX 中获取两个动态输入的值