【问题标题】:Bootstrap Carousel Indicators Color change for 1 slideBootstrap 轮播指示器 1 张幻灯片的颜色变化
【发布时间】:2015-08-19 01:21:59
【问题描述】:

我正在使用默认引导轮播。但是我的一张幻灯片有白色背景,所以轮播指示器在该幻灯片上消失了。我有可行的 Javascript/jQuery 解决方案,但它似乎有点慢/笨重。任何有助于改进脚本或替代解决方案的帮助,将不胜感激。

$('#carousel-generic').on('slid.bs.carousel', function (evt) {
    var elem = $(this).find('.carousel-indicators li'); 
    var active = $(this).find('.carousel-indicators .active');
    if(active.index() == 2) {
        elem.css('border-color', 'grey');
        elem.css('background-color', 'rgba(0,0,0,0)');
        active.css('background-color', 'grey');
    } else {
        elem.css('border-color', 'white');
        elem.css('background-color', 'rgba(0,0,0,0)');
        active.css('background-color', 'white');
    }
})

【问题讨论】:

  • 如果此代码有效并且您正在询问如何改进它,您应该在Code Review 上发布此问题。

标签: jquery css twitter-bootstrap carousel


【解决方案1】:

一个简单的解决方案

.carousel-indicators li {
    background-color: #669966;
}

.carousel-indicators .active {
    background-color: #FF7600;
}

【讨论】:

    【解决方案2】:

    background-color:"color" 设置为.carousel, .carousel-indicators li, 这可能工作正常。

    【讨论】:

      【解决方案3】:

      既然您已经知道需要更改哪一个(因此您的 index()),那么只需为其创建 CSS 样式

      .carousel .carousel-indicators li {
          // normal styles
      }
      .carousel .carousel-indicators li.active {
          // active styles
      }
      .carousel .carousel-indicators li:nth-of-type(3).active {
          // index() is 0 based index, and nth-of-type starts at 1
          // special styles for that one instance
      }
      

      【讨论】:

      • 感谢您的回答。是的,我更喜欢 CSS 解决方案。但我认为没有 CSS 解决方案。我的css不是很好。但是正如我现在看到的那样,当它的子 .carousel-indicator 的第二个 li 变得活跃时,需要向父级添加一个额外的类。我不认为它可以在 css 中完成。也就是说,脚本解决方案还不错。我想我会保留它。并关闭这个问题。感谢您抽出宝贵时间。
      • @blurb - 这是一个 CSS 解决方案。您不必添加类,只需使用 nth-of-type 选择器
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多