【问题标题】:How to update amount of slides (Owl carousel)如何更新幻灯片数量(猫头鹰轮播)
【发布时间】:2018-05-28 07:01:44
【问题描述】:

我有 owl-slider,其元素的数量取决于会话中的变量。这个变量有默认值,但它会通过执行一些动作而改变。每次更改后如何重新生成我的 owl-slider?

它是如何在视图中生成的

<?php for ($i=1; $i<=Yii::$app->session['days_amount']; $i++): ?>
  <div class="slide">
    <div class="slide_top slide_day"><?= $i ?></div>
    <div class="slide_bot">
      <?= $planing_model->getCurMonthName(Yii::$app->session['curent_month']) ?>
    </div>
  </div>
<?php endfor; ?>

【问题讨论】:

    标签: javascript php jquery yii2 owl-carousel-2


    【解决方案1】:

    更新 DOM 后,您可以重新初始化 owl carousel。即所有幻灯片的父级。代码可能如下所示。

    $('.owl-carousel').trigger('refresh.owl.carousel');
    

    类名可能取决于您的 DOM。

    【讨论】:

    • 有更改会话变量的 ajax 请求。我必须把它放在成功功能中吗?如果是这样,它不起作用
    • 是的,您必须在更改 dom 后成功添加此代码。
    • 您需要刷新 slider(所有幻灯片的父级),而不是幻灯片,我们不知道您如何根据提供的标记命名滑块。这样的事情会做,$('.owl-carousel or whatever class').trigger('refresh.owl.carousel');
    • @Ravenous 谢谢你的建议。 :)
    • @markdeitchell 您需要刷新所有幻灯片的父级,即.slide的父级
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-01-21
    相关资源
    最近更新 更多