Javascript 向RangeSloider添加小数
这是我用来制作范围滑块的函数:Javascript 向RangeSloider添加小数,javascript,jquery,Javascript,Jquery,这是我用来制作范围滑块的函数: function rangeSlider(id, onDrag) { var range = document.getElementById(id), dragger = range.children[0], draggerWidth = 20, // width of your dragger down = false, rangeWidth, rangeLeft; dragge
function rangeSlider(id, onDrag) {
var range = document.getElementById(id),
dragger = range.children[0],
draggerWidth = 20, // width of your dragger
down = false,
rangeWidth, rangeLeft;
dragger.style.width = draggerWidth + 'px';
dragger.style.left = -draggerWidth + 'px';
dragger.style.marginLeft = (draggerWidth / 2) + 'px';
range.addEventListener("mousedown", function(e) {
rangeWidth = this.offsetWidth;
rangeLeft = this.offsetLeft;
down = true;
updateDragger(e);
return false;
});
document.addEventListener("mousemove", function(e) {
updateDragger(e);
});
document.addEventListener("mouseup", function() {
down = false;
});
function updateDragger(e) {
if (down && e.pageX >= rangeLeft && e.pageX <= (rangeLeft + rangeWidth)) {
dragger.style.left = e.pageX - rangeLeft - draggerWidth + 'px';
if (typeof onDrag == "function") onDrag(Math.round(((e.pageX - rangeLeft) / rangeWidth) * 100));
}
}
}
// Run!
rangeSlider('range-slider-1', function(value) {
document.getElementById('test-result').innerHTML = value + '%';
});
rangeSlider('range-slider-2', function(value) {
document.getElementById('test-result').innerHTML = value + '%';
});
函数范围滑块(id,onDrag){
变量范围=document.getElementById(id),
dragger=range.children[0],
draggerWidth=20,//拖动器的宽度
向下=错误,
rangeWidth,rangeLeft;
dragger.style.width=draggerWidth+'px';
dragger.style.left=-draggerWidth+'px';
dragger.style.marginLeft=(draggerWidth/2)+“px”;
range.addEventListener(“鼠标向下”,函数(e){
rangeWidth=this.offsetWidth;
rangeLeft=this.offsetLeft;
向下=真;
更新标签(e);
返回false;
});
文档.添加的事件列表器(“mousemove”,函数(e){
更新标签(e);
});
document.addEventListener(“mouseup”,function()){
向下=假;
});
函数更新标记器(e){
如果(down&&e.pageX>=rangeLeft&&e.pageX请尝试此操作,这可能有助于获取两位小数点值:
if (typeof onDrag == "function") onDrag(parseFloat(((e.pageX - rangeLeft) / rangeWidth) * 100).toFixed(2));
将其用于以下用途:
function updateDragger(e) {
if (down && e.pageX >= rangeLeft && e.pageX <= (rangeLeft + rangeWidth)) {
dragger.style.left = e.pageX - rangeLeft - draggerWidth + 'px';
var startpnt=10,endpnt=50,baseval_percent,baseval;
baseval_percent = ((e.pageX - rangeLeft) / rangeWidth) * 100;
baseval = (endpnt-startpnt)*baseval_percent/100;
baseval = baseval+startpnt;
if (typeof onDrag == "function") onDrag(parseFloat(baseval).toFixed(2));
}
}
函数更新标记器(e){
如果(down&&e.pageX>=rangeLeft&&e.pageX,请检查更新后的函数,该函数将显示基于百分比的startpnt=10
和endpnt=50
值