更改轮播项目更改的背景颜色

Posted

技术标签:

【中文标题】更改轮播项目更改的背景颜色【英文标题】:Change background color on carousel item change 【发布时间】:2021-11-22 09:39:31 【问题描述】:

我已经花了几个小时来解决这个问题,但无法弄清楚,因此我们将不胜感激。

我有一个使用 foreach 循环创建项目的轮播。然而,其中一项要求是,容纳轮播的 div 应该根据 foreach 使用的数据更改颜色。

<div class="p-0 col-lg-6 text-light d-none d-sm-block w-50 h-100">
  <div id="carousel" class="carousel d-flex flex-column justify-content-center align-items-center w-100 h-100 rounded bg-danger" data-bs-ride="carousel">
    <div class="carousel-inner justify-content-center" role="listbox">
      @foreach($marketingItems as $marketingItem)
        <div class="carousel-item text-center h-100  $loop->first ? 'active' : '' ">
          @if($marketingItem->image != null)
            <div class="item">
              <img src="get_marketing_image($marketingItem->image)"
                              class="img-thumbnail pb-5">
            </div>
          @endif

上面是一个项目的例子,我想用我的$marketingItem-&gt;bg_color来改变divid: carousel的背景颜色并替换bg-danger

我发现了这个:

 $("#carousel").on('slide.bs.carousel', function () 
   document.getElementById("carousel").style.backgroundColor = "red";
 );

但这似乎不起作用...请帮助!谢谢..

【问题讨论】:

【参考方案1】:

设法弄明白,重新编写 css 并设法将其放入盒子中。有一些引导程序应用了边距,什么没有。感谢您的帮助!

【讨论】:

【参考方案2】:

尝试改变你的js:

$(document).ready(function()
    $("#carousel").on('slide.bs.carousel', function () 
        document.getElementById("carousel").style.backgroundColor = "red";
    );
);

【讨论】:

这也是我的想法,唯一的问题是 $marketingItem->bg_color 不可访问,因为这个 div 是在 foreach 循环之外创建的.. :/ 我编辑了我的帖子。

以上是关于更改轮播项目更改的背景颜色的主要内容,如果未能解决你的问题,请参考以下文章

如何更改自定义轮播指示器背景颜色?

更改 Bootstrap 4 轮播控件颜色

如何在情节提要上更改标签栏背景颜色和标签栏项目颜色

使用android中的颜色选择器更改textview的文本颜色和背景颜色

悬停时更改 JList 项目背景颜色

列表视图滚动更改项目视图的背景颜色(简单适配器)