当前位置: 首页 > 知识库问答 >
问题:

OWL-带有数据属性的轮播不工作

乐正迪
2023-03-14

我需要帮助数据属性的猫头鹰-旋转木马。

正如您在我示例中所看到的,在幻灯片1和3中,每个项目都有VALUE属性。但在幻灯片2上,该值为空。

我的目标是根据属性中的值设置颜色背景,如果值可用,则设置addClass“活动”条件。我需要帮助删除“active”,如果在属性中没有值。

提前谢谢你。

代码本中的示例https://Codepen.io/jafaris-mustafa/pen/xwjwjaz

null

  var owl = $('.owl-carousel');
owl.on('initialized.owl.carousel', function(property){  
  var current = property.item.index;
    var src = $(property.target).find(".owl-item").eq(current).find(".item").attr('setBgClr');
    if($(property.target).find(".owl-item").eq(current).find(".item").is('[setBgClr]')) {
        $(".heroes-wrap").css("background-color", src);
      $(".heroes-txt").addClass("active");
    } else {
        $(".heroes-wrap").css("background-color", "white");
      $(".heroes-txt").removeClass("active");
    }
});

$('.owl-carousel').owlCarousel({
  autoplay: true,
  loop: true,
  margin: 10,
  autoHeight: true,
  autoplayTimeout: 10000,
  smartSpeed: 800,
  nav: true,
  items: 1,

});



owl.on('changed.owl.carousel',function(property){
    var current = property.item.index;
    var src = $(property.target).find(".owl-item").eq(current).find(".item").attr('setBgClr');
    //console.log('Image current is ' + src);

    if($(property.target).find(".owl-item").eq(current).find(".item").is('[setBgClr]')) {
        $(".heroes-wrap").css("background-color", src);
      $(".heroes-txt").addClass("active");
    } else {
        $(".heroes-wrap").css("background-color", "white");
      $(".heroes-txt").removeClass("active");
    }
    
});
body {font-family:Arial, Helvetica, sans-serif;}
.heroes-wrap {margin:2em; padding:1em;}
.heroes-txt.active {color:white;}
<link href="https://owlcarousel2.github.io/OwlCarousel2/assets/owlcarousel/assets/owl.theme.default.min.css" rel="stylesheet" />
<link href="https://owlcarousel2.github.io/OwlCarousel2/assets/owlcarousel/assets/owl.carousel.min.css" rel="stylesheet" />

<div class="heroes-wrap">
  <div class="owl-carousel owlCarousel-item">
    <div class="item" setBgClr="red">
      <div class="heroes-txt">
        <h2>Slide 1</h2>
        <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
        </p>
      </div>
    </div>
    <div class="item" setBgClr="">
      <div class="heroes-txt">
        <h2>Slide 2</h2>
        <p>Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
      </div>
    </div>
    <div class="item" setBgClr="#4CAF50">
      <div class="heroes-txt">
        <h2>Slide 3</h2>
        <p>Orci nulla pellentesque dignissim enim. Nunc non blandit massa enim. At quis risus sed vulputate odio ut. Vulputate odio ut enim blandit volutpat maecenas. Massa id neque aliquam vestibulum morbi blandit.</p>
      </div>
    </div>
  </div>
</div>

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.2.4/jquery.min.js"></script>
<script src="https://owlcarousel2.github.io/OwlCarousel2/assets/owlcarousel/owl.carousel.js"></script>

null

共有1个答案

郑声
2023-03-14

第一次检查setBgClr属性值在更改的幻灯片上是empty还是not以便将您的代码替换为下面代码的这一行代码。

owl.on('changed.owl.carousel',function(property){
  var current = property.item.index;
  var src = $(property.target).find(".owl-item").eq(current).find(".item").attr('setBgClr');
  if (src!='') {
    $(".heroes-wrap").css("background-color", src);
      $(".heroes-txt").addClass("active");
    }
  else{
      $(".heroes-wrap").css("background-color", "white");
      $(".heroes-txt").removeClass("active");
   }
});
 类似资料:
  • 我需要帮助数据属性的猫头鹰-旋转木马。 正如您在我示例中所看到的,在幻灯片1和3中,每个项目都有属性。仅工作事件是触发器,但不在加载幻灯片1(第一张幻灯片)时工作。 提前谢谢你。 代码本中的示例https://Codepen.io/jafaris-mustafa/pen/xwjwjaz null null

  • 我的项目涉及使用创建一个照片库。我使用作为主图库,它有大图像和缩略图,我想要在底部的第三个图库滚动所有图库。这一切都很奏效。 但我有一个所有缩略图的登陆页。当你点击,我想要相同的缩略图位置是相同的第三个图库在底部。例如,如果用户在进入主图库时单击第五个缩略图,则第五个缩略图将突出显示并滚动到起始位置。 这是我想要实现的一个很好的例子 http://www.radyrahban.com/galler

  • 问题内容: 我在AngularJS应用程序之一中使用Slick轮播。为此,我创建了如下指令: 这是我在查看文件中的代码: 在这种情况下,它可以正常工作并正确初始化。 但是,当我使用ngRepeat动态创建幻灯片时,它没有初始化,并且一个接一个地显示幻灯片。 这是我使用ngRepeat的代码 有什么建议,我该如何解决? 问题答案: 我怀疑光滑的插件可能需要完全渲染DOM才能正常工作。 尝试:

  • 问题轮播:https://codepen.io/ben456789/pen/jxvrxj 我正在构建这个相当自定义的自动播放和循环Owl旋转木马,我遇到了一些问题,我在这里没有找到一个解决方案。 当轮播回到“tab 1”时,类被放置在正确的上,但是定位幻灯片的内联样式没有更新,因此幻灯片显示在屏幕之外。我在初始化时设置的选项有问题吗?我相信,当我单击选项卡转到特定的时,我也有同样的问题。如有任何帮

  • 本文向大家介绍解决layui轮播图有数据不显示的情况,包括了解决layui轮播图有数据不显示的情况的使用技巧和注意事项,需要的朋友参考一下 最近接触了一个项目,要实现一个轮播图的功能,因为是在原有的项目上进行二次开发,项目前端用的是layui框架,楼主是后台方向,没怎么接触过前端,在用layui实现轮播图时,发现异步从后台获取数据,但是轮播图片不显示,显示如下: 用浏览器调试发现,<div car

  • 我对ansible相当陌生,我写了一个剧本,用于检查和安装多台机器的内核升级,但我一直遇到下面的问题。 ...