• 关于OWL-carousel插件在ajax调用后需要重新实例化问题(页面无轮播效果)


    维护公司老项目,发现问题,记录一下~ 

    1.产生原因

    owl 已经实例已经存在,在ajax请求成功后并更改完页面数据后, 但是没有销毁之前实例,并重新生成新的实例,导致没有owl插件没有轮播效果.

    2.解决方案

    html:

    1. <div class="owl-slider ps-carousel" data-owl-auto="true" data-owl-loop="true" data-owl-speed="7500" data-owl-gap="30"
    2. data-owl-nav="true" data-owl-item="3" data-owl-item-xs="1" data-owl-item-sm="2" data-owl-item-md="3"
    3. data-owl-item-lg="3" data-owl-duration="1000" data-owl-mousedrag="false" id="carousel-featured-properties">
    4. <div class="ps-project ps-project--grid">
    5. <div class="ps-project__thumbnail">
    6. <div class="ps-project__image"><img src="../img/property/1.jpg" alt="" id="img0" />div><a
    7. class="ps-project__overlay" id="detail0">a>
    8. <div class="ps-project__actions"><a href="javascript:void(0)" style="float: right"><i
    9. class="lnil lnil-star-fill active">i>a>div>
    10. div>
    11. <div class="ps-project__content">
    12. <h4 class="ps-project__name"><a id="name0">房屋名称111a>h4>
    13. <p class="ps-project__address" id="address0">上海市,闵行区,浦秀路p>
    14. <p class="ps-project__price"><strong id="price0">¥2,0000/月strong>
    15. p>
    16. <div class="ps-project__meta">
    17. <figure>
    18. <figcaption>房产经济人figcaption>
    19. <p id="agent0">张三p>
    20. figure>
    21. <figure>
    22. <figcaption>状态figcaption>
    23. <p id="state0">出售p>
    24. figure>
    25. <figure>
    26. <figcaption>时间figcaption>
    27. <p id="build0">7/4/2021p>
    28. figure>
    29. div>
    30. <div class="ps-project__services">
    31. <p><span id="arce0"><i class="lnil lnil-size">i>250 ㎡span>p>
    32. <p><span id="bedroom0"><i class="lnil lnil-hospital-bed">i>3 卧室span>p>
    33. <p><span id="bathroom0"><i class="icon icon-bathtub">i>2 浴室span>p>
    34. div>
    35. div>
    36. div>
    37. <div class="ps-project ps-project--grid">
    38. //第二个
    39. div>
    40. <div class="ps-project ps-project--grid">
    41. //第三个
    42. div>
    43. <div class="ps-project ps-project--grid">
    44. //第四个
    45. div>
    46. div>

    js:

    1. success: function (result) {
    2. // alert("查找成功");
    3. //console.log(result)
    4. var allHouse = result.data;
    5. $("#carousel-featured-properties").trigger("destroy.owl.carousel")
    6. $("#carousel-featured-properties").html("");
    7. // $("#testId").html('<div class="owl-slider ps-carousel" data-owl-auto="true" data-owl-loop="true"
    8. data-owl-speed="7500" data-owl-gap="30" data-owl-nav="true" data-owl-item="4" data-owl-item-xs="1"
    9. data-owl-item-sm="2" data-owl-item-md="3" data-owl-item-lg="3" data-owl-duration="1000" data-owl-mousedrag="false"
    10. id="carousel-featured-properties">div>');
    11. $(allHouse).each(function (index,house1){
    12. var house = house1.bHouse;
    13. var image = house1.image;
    14. var agents = house1.agents;
    15. // 第二种写法,但是无轮播效果
    16. var div = ' <div class="ps-project ps-project--grid">\n' +
    17. ' <div class="ps-project__thumbnail">\n' +
    18. ' <div class="ps-project__image"><img src="'+image[0].imageUrl+'" alt="" id="img0" />div><a
    19. class="ps-project__overlay" id="detail0">a>\n' +
    20. ' <div class="ps-project__actions"><a href="javascript:void(0)" style="float: right"><i
    21. class="lnil lnil-star-fill active">i>a>div>\n' +
    22. ' div>\n' +
    23. ' <div class="ps-project__content">\n' +
    24. ' <h4 class="ps-project__name"><a id="name0">'+house.houseName+'a>h4>\n' +
    25. ' <p class="ps-project__address" id="address0">'+house.address+'p>\n' +
    26. ' p>\n' +
    27. ' <div class="ps-project__meta">\n' +
    28. ' <figure>\n' +
    29. ' <figcaption>房产经济人figcaption>\n' +
    30. ' <p id="agent0">'+agents.name+'p>\n' +
    31. ' figure>\n' +
    32. ' <figure>\n' +
    33. ' <figcaption>状态figcaption>\n' +
    34. ' <p id="state0">'+house.state+'p>\n' +
    35. ' figure>\n' +
    36. ' <figure>\n' +
    37. ' <figcaption>时间figcaption>\n' +
    38. ' <p id="build0">'+house.buildTime+'p>\n' +
    39. ' figure>\n' +
    40. ' div>\n' +
    41. ' <div class="ps-project__services">\n' +
    42. ' <p><span id="arce0"><i class="lnil lnil-size">i>'+house.area+' ㎡span>p>\n' +
    43. ' <p><span id="bedroom0"><i class="lnil lnil-hospital-bed">i>'+house.bedroom+' 卧室span>p>\n' +
    44. ' <p><span id="bathroom0"><i class="icon icon-bathtub">i>'+house.bathroom+' 浴室span>p>\n' +
    45. ' div>\n' +
    46. ' div>\n' +
    47. ' div>';
    48. $(".owl-slider").append(div);
    49. });
    50. $(".owl-slider").owlCarousel({
    51. items: 3
    52. });
    53. },
    54. error: function (){
    55. alert("查询失败");
    56. }
    重点:

     先销毁实例 再插入数据 再生成实例

    1. //销毁实例代码
    2. $("#carousel-featured-properties").trigger("destroy.owl.carousel")
    3. //生成实例代码
    4. $(".owl-slider").owlCarousel({});

  • 相关阅读:
    机房环境监控什么意思?机房环境监控系统作用
    NLP大模型的训练
    基于Docker实现pgsql的热备
    NER(命名体识别)之 FLAT模型
    vue3的自定义指令
    Thrift -- 跨语言RPC 框架
    汇编常用寄存器以及寻址方式
    大一学生期末大作业 html+css+javascript网页设计实例【电影购票项目】html网页制作成品代码
    rk3588编译lunch出错
    集成学习进阶
  • 原文地址:https://blog.csdn.net/caseywei/article/details/133810073