如何更新幻灯片数量(猫头鹰走马灯)

4
我有一个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; ?>
1个回答

2
更新DOM后,您可以重新初始化owl carousel。即所有幻灯片的父级。代码可能如下所示。
$('.owl-carousel').trigger('refresh.owl.carousel');

类名可能根据您的DOM而定。


有一个 AJAX 请求会更改 session 变量。我需要把它放在 success 函数里吗?如果是的话,好像不起作用。 - markdeitchell
是的,在更改DOM后,您必须在成功中添加此代码。 - Kiran Shahi
你需要刷新滑块(所有幻灯片的父级),而不是单个幻灯片,我们不知道你根据提供的标记如何命名你的滑块。可以尝试这样做:$('.owl-carousel或其他类').trigger('refresh.owl.carousel'); - Ravenous
@Ravenous 谢谢你的建议。 :) - Kiran Shahi
@markdeitchell 你需要刷新所有幻灯片的父级,即 .slide 的父级。 - Kiran Shahi

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接