我想在HTML5范围内创建自定义标记。
您拖动的实际圆圈标记我希望能够在移动和更改值时更改此设计。下面的示例从1移动到10.我想在更改值时更改颜色。
有什么想法吗?
<label for=weight>Party Scale</label>
<input type=range id=weight min=0 value=0 max=10 step=1>
谢谢,
路易斯
答案 0 :(得分:1)
答案 1 :(得分:0)
您可以尝试添加:
-webkit-appearance: none;
然后你可以改变
background-color: blue;
这里有一个小例子: https://jsfiddle.net/rv9xqwq6/1/
答案 2 :(得分:0)
首先,您必须重置输入范围的外观,至少对于基于webkit和gecko的浏览器:
#myRange {
-webkit-appearance: none;
}
#myRange::-moz-range-thumb{
-moz-appearance: none;
}
#myRange::-webkit-slider-thumb {
-webkit-appearance: none;
}
你还要添加一些规则,因为现在不再定义元素的外观(参见下面的小提琴)
然后,您可以使用input
事件侦听光标移动,并在动态创建的样式表中添加css规则:
$("#myRange").on("input", function (evt) {
if (evt.target.value > 50)
var rule= "background:red";
else
var rule= "yellow"
sheet.textContent =
"#myRange::-webkit-slider-thumb{ "+rule+" } " +
"#myRange::-ms-thumb{ "+rule+" } " +
"#myRange::-moz-range-thumb{ "+rule+" } ";
})
https://jsfiddle.net/rv9xqwq6/8/
一些有用的链接:
http://brennaobrien.com/blog/2014/05/style-input-type-range-in-every-browser.html
http://codepen.io/thebabydino/pen/jEXjVE
http://trevan.co/custom-range-inputs-with-css-javascript/