如何更改每个自定义范围步骤上图标的颜色

我有一个我已经设计和修改的自定义范围。

对于每个步骤,在绿色框中的范围下方显示一个文本值,并在每个步骤的顶部显示图标。

在此处输入图片说明
我想知道,如何在选择步骤后更改图标的背景颜色?我添加了一些无法正常工作的额外 javascript 代码。

例如,在第一步中,组图标将为绿色,当您选择下一步时,此人将变为绿色,组将更改为默认灰色,依此类推...

谢谢你。

var arr = new Array();
arr[1] = "everyone";
arr[2] = "show my group only";
arr[3] = "show only me";

var rangeSlider = function() {
  var slider = $(".range-slider"),
    range = $(".range-slider__range"),
    value = $(".range-slider__value");

  slider.each(function() {
    value.each(function() {
      var value = $(this)
        .prev()
        .attr("value");
      $(this).html(arr[value]);
    });

    range.on("input", function() {
      $(this)
        .next(value)
        .html(arr[this.value]);
    });

    // Set active icons
    $('.range-icons li').removeClass('active selected');
    var icons = $('.range-icons').find('li:nth-child(' + icons + ')');
    icons.addClass('active selected');
    return style;
  });
};

rangeSlider();
*,
*:before,
*:after {
  box-sizing: border-box;
}

body {
  font-family: sans-serif;
  padding: 60px 20px;
}

@media (min-width: 600px) {
  body {
    padding: 60px;
  }
}

.range-slider {
  margin: 0;
}

.range-slider {
  width: 24%;
}

.range-slider__range {
  -webkit-appearance: none;
  /*width: calc(100% - (73px));*/
  width: 100%;
  height: 6px;
  border-radius: 5px;
  background: #d7dcdf;
  outline: none;
  padding: 0;
  margin: 0;
}

.range-slider__range::-webkit-slider-thumb {
  appearance: none;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: #2c3e50;
  cursor: pointer;
  transition: background .15s ease-in-out;
}

.range-slider__range::-webkit-slider-thumb:hover {
  background: #1abc9c;
}

.range-slider__range:active::-webkit-slider-thumb {
  background: #1abc9c;
}

.range-slider__range::-moz-range-thumb {
  width: 18px;
  height: 18px;
  border: 0;
  border-radius: 50%;
  background: #2c3e50;
  cursor: grab;
  transition: background .15s ease-in-out;
}

.range-slider__range:active::-moz-range-thumb {
  cursor: grabbing;
  background: #1abc9c;
}

.range-slider__range::-moz-range-thumb:hover {
  background: #1abc9c;
}

.range-slider__value {
  display: block;
  position: relative;
  color: #fff;
  font-size: 12px;
  margin-top: 10px;
  line-height: 20px;
  text-align: center;
  background: green;
  padding: 0;
}


/*.range-slider__value:after {
  position: absolute;
  top: 8px;
  left: -7px;
  width: 0;
  height: 0;
  border-top: 7px solid transparent;
  border-right: 7px solid #2c3e50;
  border-bottom: 7px solid transparent;
  content: '';
}*/

::-moz-range-track {
  background: #d7dcdf;
  border: 0;
}

input::-moz-focus-inner,
input::-moz-focus-outer {
  border: 0;
}


/*.range-labels {
  margin: 9px -21px 0;
  padding: 0;
  list-style: none;
}
.range-labels li {
  position: relative;
  float: left;
  width: 60px;
  text-align: center;
  color: #b2b2b2;
  font-size: 14px;
  cursor: pointer;
}

.range-labels .active {
  color: #37adbf;
}
.range-labels .selected::before {
  background: #37adbf;
}
.range-labels .active.selected::before {
  display: none;
}*/


/*icons*/

.range-icons {
  margin: 9px -20px 0;
  padding: 0;
  list-style: none;
}

.range-icons li {
  position: relative;
  float: left;
  width: 33%;
  text-align: center;
  color: #b2b2b2;
  font-size: 10px;
}
.range-icons .active {
  color: #37adbf;
}
.range-icons .selected::before {
  background: #37adbf;
}
.range-icons .active.selected::before {
  display: none;
}
<link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet">
<script src="//cdnjs.cloudflare.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>

<div class="range-slider">
  <ul class="range-icons clearfix">
    <li class="active selected"><i class="material-icons">group</i></li>
    <li><i class="material-icons">person</i></li>
    <li><i class="material-icons">lock</i></li>
  </ul>

  <input class="range-slider__range" type="range" value="1" min="1" max="3" step="1">
  <span class="range-slider__value">0</span>
</div>

这样的

你可以创建类,并添加apropriate类addClass每当范围输入的变化range.on("input",

$('.material-icons:nth('+ ( this.value - 1) +')').addClass('class-'+(this.value))

因为你this.value1

var arr = new Array();
arr[1] = "everyone";
arr[2] = "show my group only";
arr[3] = "show only me";

var rangeSlider = function() {
  var slider = $(".range-slider"),
    range = $(".range-slider__range"),
    value = $(".range-slider__value");

  slider.each(function() {
    value.each(function() {
      var value = $(this)
        .prev()
        .attr("value");
       $(this).html(arr[value]);
    });

    range.on("input", function() {
      $(this)
        .next(value)
        .html(arr[this.value]);
        $('.material-icons').attr('class', 'material-icons')
      $('.material-icons:nth('+ ( this.value - 1) +')').addClass('material-icons class-'+(this.value))
    });
  });
};

rangeSlider();
*, *:before, *:after {
  box-sizing: border-box;
}

body {
  font-family: sans-serif;
  padding: 60px 20px;
}
@media (min-width: 600px) {
  body {
    padding: 60px;
  }
}

.range-slider {
  margin: 0;
}

.range-slider {
  width: 24%;
}

.range-slider__range {
  -webkit-appearance: none;
  /*width: calc(100% - (73px));*/
  width: 100%;
  height: 6px;
  border-radius: 5px;
  background: #d7dcdf;
  outline: none;
  padding: 0;
  margin: 0;
}
.range-slider__range::-webkit-slider-thumb {
  appearance: none;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: #2c3e50;
  cursor: pointer;
  transition: background .15s ease-in-out;
}
.range-slider__range::-webkit-slider-thumb:hover {
  background: #1abc9c;
}
.range-slider__range:active::-webkit-slider-thumb {
  background: #1abc9c;
}
.range-slider__range::-moz-range-thumb {
  width: 18px;
  height: 18px;
  border: 0;
  border-radius: 50%;
  background: #2c3e50;
  cursor: grab;
  transition: background .15s ease-in-out;
}
.range-slider__range:active::-moz-range-thumb {
  cursor: grabbing;
  background: #1abc9c;
}
.range-slider__range::-moz-range-thumb:hover {
  background: #1abc9c;
}

.range-slider__value {
  display: block;
  position: relative;
  color: #fff;
  font-size: 12px;
  margin-top: 10px;
  line-height: 20px;
  text-align: center;
  background: green;
  padding: 0;
  
}
/*.range-slider__value:after {
  position: absolute;
  top: 8px;
  left: -7px;
  width: 0;
  height: 0;
  border-top: 7px solid transparent;
  border-right: 7px solid #2c3e50;
  border-bottom: 7px solid transparent;
  content: '';
}*/

::-moz-range-track {
  background: #d7dcdf;
  border: 0;
}

input::-moz-focus-inner,
input::-moz-focus-outer {
  border: 0;
}

/*.range-labels {
  margin: 9px -21px 0;
  padding: 0;
  list-style: none;
}
.range-labels li {
  position: relative;
  float: left;
  width: 60px;
  text-align: center;
  color: #b2b2b2;
  font-size: 14px;
  cursor: pointer;
}

.range-labels .active {
  color: #37adbf;
}
.range-labels .selected::before {
  background: #37adbf;
}
.range-labels .active.selected::before {
  display: none;
}*/

/*icons*/
.range-icons {
  margin: 9px -20px 0;
  padding: 0;
  list-style: none;
}
.range-icons li {
  position: relative;
  float: left;
  width: 33%;
  text-align: center;
  color: #b2b2b2;
  font-size: 10px;
}
/* classes with colors you want */
.class-1{
  color: red;
}
.class-2{
  color: blue;
}
.class-3{
  color: orange;
}
<link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet">
<script src="//cdnjs.cloudflare.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>

<div class="range-slider">
<ul class="range-icons clearfix">
  <li class="active selected"><i class="material-icons class-1">group</i></li>
  <li><i class="material-icons">person</i></li>
  <li><i class="material-icons">lock</i></li>
</ul>

  <input class="range-slider__range" type="range" value="1" min="1" max="3" step="1">
  <span class="range-slider__value">0</span>
</div>

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何更改或自定义 JBehave 步骤?

来自分类Dev

如何创建自定义步骤滑块/范围组?

来自分类Dev

如何更改或自定义熊猫的颜色?

来自分类Dev

如何增加 tabItems 上图标的大小?

来自分类Dev

使用自定义背景颜色删除字体真棒图标的边框

来自分类Dev

如何更改iconfont图标的悬停颜色?

来自分类Dev

如何更改UISearchBar图标的颜色?

来自分类Dev

如何更改字体真棒图标的颜色

来自分类Dev

Android:如何更改菜单图标的颜色

来自分类Dev

如何更改导航图标的颜色

来自分类Dev

如何更改图标的颜色?

来自分类Dev

如何使用自定义颜色更改gnuplot颜色框

来自分类Dev

如何在“开始”屏幕中为桌面应用程序自定义图块(更改/更大的图标,更改颜色)?

来自分类Dev

Google Maps api v 3-更改自定义标记图标的来源

来自分类Dev

更改自定义Android Wear表盘上电池图标的位置

来自分类Dev

更改自定义Android Wear表盘上的电池图标的位置

来自分类Dev

如何在Kendo UI折线图中更改系列图标的形状?可以使用自定义图标吗?

来自分类Dev

如何根据范围指定直方图的自定义重复颜色

来自分类Dev

自定义标签栏图标颜色

来自分类Dev

材料设计自定义图标颜色

来自分类Dev

自定义Gnuplot中的颜色范围

来自分类Dev

带自定义图标的推送通知

来自分类Dev

更改菜单图标的颜色

来自分类常见问题

如何使用自定义步骤在范围内进行迭代?

来自分类Dev

Byobu状态徽标的自定义颜色

来自分类Dev

具有自定义步骤的循环的C ++范围

来自分类Dev

如何在Android中更改字体图标的颜色

来自分类Dev

如何更改Angular Material中md图标的颜色?

来自分类Dev

如何更改工具栏中抽屉图标的颜色

Related 相关文章

热门标签

归档