javascript - 在 Chrome 中重新显示 html 输入范围拇指

标签 javascript html css google-chrome

我正在构建一个页面,我希望在某个范围内获取用户输入,但我不想预先使用默认值来偏见用户。因此,我想做的是有一个输入范围 slider ,默认情况下有一个具有隐藏拇指的样式的类,然后使用 slider 的 onchange 事件,删除该类,以便拇指再次出现。

我遇到的奇怪行为是,这在 Safari 中有效,但在 Chrome 中无效(目前仅使用 webkit)。一切似乎都正确更新(例如,类被更改,CSS 样式仅适用于应用的类名),但当类被删除时,拇指在 Chrome 中仍然隐藏。如果这有什么不同的话,我正在使用 Mac 版 v55.0.2883.95。

有什么方法可以强制 slider 元素重新检查其类并将 slider 添加回来吗?

下面是一个最小的工作示例:

<html>
<head>
<style>
input[type=range].drange::-webkit-slider-thumb {
    -webkit-appearance: none;
}
</style>
</head>

<script>
function onchg() {
    var s = document.getElementById('slider');
    s.className = "";
    console.log('Changed!');
};
</script>

<body>
    <input id="slider" class="drange" type="range" min="0" max="100" default="50" onchange="onchg();"/>
</body>
</html>

最佳答案

我认为这是一个错误,但很长时间后我找到了修复:

.drange2::-webkit-slider-thumb {
    -webkit-appearance: initial;
        background: black;
}

当你想显示它时,只需为拇指添加背景颜色即可。它没有显示的原因是因为它是透明的。

关于javascript - 在 Chrome 中重新显示 html 输入范围拇指,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41474912/

相关文章:

javascript - javascript中如何执行同步性

php - 使用 #, | 提取字符串使用 PHP 将 % 分隔符添加到 HTML 表中

javascript - 编辑 Apache mod_autoindex 以预览图像和 mp3

javascript - 如何通过vue中该对象的另一个数组中的id号查找数组中的对象

javascript - 为什么我的 Node.js 得到 "program terminated"而没有错误

javascript - 避免 JavaScript 测试中的误报

html - Jssor Slider - 相对尺寸导致 IE11 中出现错误

html - div 没有响应显示 :block;

javascript - 粘性菜单/导航,当菜单固定时框阴影不起作用

javascript - 在 javascript(jquery) 中应用所有 css 的缺点?