只有在滑动后才能生成HTML type =“range”值

时间:2016-04-11 15:37:34

标签: javascript jquery html5

我正在使用html type =“Range”来获取1-100之间的值,我没有给出任何默认值,但是它将50作为默认值。但我希望它只在我更改滑块时才接受一个值,直到那时它不应该给出任何值。有没有办法呢?

与此链接一样,它将25作为默认值。

http://jsfiddle.net/kxbdgwzo/ enter code here

2 个答案:

答案 0 :(得分:1)

无法将初始值设置为null。范围滑块需要初始值,否则默认为中间值。在这种情况下 - 例如,您可以通过将value属性设置为0来初始化它。

<html>
<body>

    <input id="slider" type="range" min="0" value="0" max="50" step="1" />

    <h2 id="range">0</h2>
</body>
</html>

Fiddle

如果您愿意,可以隐藏值 - 但如果您希望滑块不自动居中init值,则无法完全消除它。

编辑:另一个选项是预设图像不透明度 - 并且在单击滑块之前不要将不透明度控制传递给滑块。将该滑块值设置为50,以便在首次单击滑块时图像将保持完全不透明 - 但是一旦获得焦点,则不透明度值将由滑块控制。

答案 1 :(得分:1)

如果您只想显示初始值,请改变您的javascript:

var output = document.getElementById('range');
output.innerHTML = '';

function showValue(newValue) {
    output.innerHTML = newValue;
}

$('#slider').change(function(e) {
    showValue($(this).val());

});

否则,如果您只想将初始值设为零,只需将value="0"添加到<input>