javascript - 在没有 jQuery 的情况下更改滑块句柄颜色
问题描述
.slider::-webkit-slider-thumb
{
-webkit-appearance: none;
appearance: none;
width: 25px;
height: 25px;
background: #00AA00;
cursor: pointer;
}
.slider::-moz-range-thumb
{
width: 25px;
height: 25px;
background: #00AA00;
cursor: pointer;
}
以上是滑块 CSS 的一部分,其中定义了滑块手柄的属性。但是,我想在不使用 jQuery 的情况下更改上面的背景颜色。调用 document.getElementById() 后我该怎么做?
解决方案
没有直接修改伪选择器的简单方法。有一种相当复杂的方法可以在这里找到
如果您只有预定义的颜色数量,那么最好的方法是为您想要的所有不同颜色设置类,然后简单地更改元素的类。
.slider::-webkit-slider-thumb
{
-webkit-appearance: none;
appearance: none;
width: 25px;
height: 25px;
background: #00AA00;
cursor: pointer;
}
.slider::-moz-range-thumb
{
width: 25px;
height: 25px;
background: #00AA00;
cursor: pointer;
}
.slider.red::-webkit-slider-thumb,
.slider.red::-moz-range-thumb
{
background: red;
}
.slider.blue::-webkit-slider-thumb,
.slider.blue::-moz-range-thumb
{
background: blue;
}
然后对于js:
document.querySelector('.slider').className = 'slider red';
如果您希望能够将其设置为任何随机颜色,请查看我提到的第一个链接。
推荐阅读
- magento - 来自 CLI 的 Magento 1.14.2.1 到 Magento 2.3.2
- javascript - 如何通过jQuery在同一行中的另一个输入ID选择第n个输入文本框?
- ios - Ionic 4 - 目标为“_blank”的 InAppBrowser 在 IOS 上不起作用?
- r - 拆分数据框值并在 R 中放入一个组?
- ios - 快速获取 JSON 值
- javascript - javascript将html附加到之前附加
- angular - 如何使用 Compodoc 生成文档文件(pdf 或 doc)?
- ios - 第三方 iOS/iPadOS 应用程序是否能够访问存储卡/USB 闪存?
- reactjs - 如何在 React 网站中安全地保持用户的登录状态?
- c# - 如何加快循环百万值数组的过程?