Javascript HTML5输入类型的范围从正到负

Javascript HTML5输入类型的范围从正到负,javascript,jquery,html,Javascript,Jquery,Html,有没有办法允许一个正的最小值和一个负的最大值?我试图在日志空间(10^8-10-13)中创建滑块,并希望在滑块上显示指数 <input type="range" min="8" max='-13' value="1" step="-1" id="myRange" > 该值当前恢复为默认值max=100 或者我可以用某种方式反转滑块?任何帮助都将不胜感激 编辑:请记住,我希望比例从8减少到-13(日志空间10^8-10^-13) 编辑:在IDL xr=[8,-13](或R xl

有没有办法允许一个正的最小值和一个负的最大值?我试图在日志空间(10^8-10-13)中创建滑块,并希望在滑块上显示指数

<input  type="range" min="8" max='-13' value="1" step="-1" id="myRange" >

该值当前恢复为默认值
max=100

或者我可以用某种方式反转滑块?任何帮助都将不胜感激

编辑:请记住,我希望比例从8减少到-13(日志空间10^8-10^-13)


编辑:在IDL xr=[8,-13](或R xlim=c(8,-13))中。请注意,最小值是一个正数,最大值是一个负数,您可以相应地在两者之间移动。我正在寻求解决方法的帮助,以创建与输入类型范围相同的行为。

您添加了逻辑上不满足的条件。您需要交换“最小值”和“最大值”以使滑块工作:

 <input type="range" min="-13" max='8' value="1" step="1" id="myRange" >


此滑块将反转:最小值(左)为8,最大值(右)为-13,我想这是您想要的。。。步骤=-1不起作用。

HTML:


Thx-css

我认为没有办法允许正最小值和负最大值,但是对于给定的情况,我们可以使用min=-8和max=13,在变化时,我们将在变量中指定范围值的负值。e、 g

<script>
var exponent=1;
</script>
<input  type="range" min="-8" max='13' value="-1" step="1" id="myRange" onchange="document.exponent = - this.value;">

var指数=1;

您只需切换限值并将值乘以
-1

<input  type="range" min="-8" max='13' value="1" step="1" id="slider" >

$('#slider').change(function(){
    var val = -+($(this).val());
    console.log(val);
});

$('#滑块')。更改(函数(){
var val=-+($(this.val());
控制台日志(val);
});
如果需要提交值,请将其复制到隐藏字段,并在服务器端使用该字段,而不是原始字段


.

使用步长=1将滑块从0缩放到21

在更改处理程序中,计算
8-$(this).val()
以给出实际需要的缩放比例

HTML

<input type="range" min="0" max='21' value="7" step="1" id="myRange">

你能告诉我们一个大于8小于-13的数字吗?你应该交换最小-最大值来实现这一点。Lolz dude-13小于8,你应该把
min='-13'
max='8'
放在一起,也许我不清楚。我希望刻度从8开始,减少到-13。向下投票似乎不公平,这是一个完全正确的问题。将滑块从0缩放到21,步长=1。在更改处理程序中,计算
8-$(this).val()
以给出实际需要的缩放。我希望缩放从8减小到-13(最小=缩放左侧)。问题是是否有人能提出解决办法。步骤=-1似乎没有帮助(它增加了绝对步骤值)谢谢Pierre!我觉得很好,非常简单!在我接受之前,我将与网站的其他部分进行一次尝试,看看它是否适合。如果没有在许多浏览器/版本中进行彻底测试,我不想依赖它。肯定会有一些问题。如果你在寻找兼容性,ie支持它,因为它支持滑块输入,因为ie9前缀和ie10通用:这是一个比需要编写值转换更好的答案。假设您希望在输出标记中显示滑块值:使用这个简单的CSS技巧,值将是正确的,但不使用值转换技术。此外,如果直接查询滑块,您将获得正确的值;其他建议的解决方案并非如此。要更改滑块颜色,我们可以使用-默认样式看起来不好,因为在
rotateY(180度)
之后,“较低填充”颜色位于“错误”一侧
<input  type="range" min="-8" max='13' value="1" step="1" id="slider" >

$('#slider').change(function(){
    var val = -+($(this).val());
    console.log(val);
});
<input type="range" min="0" max='21' value="7" step="1" id="myRange">
$('#myRange').change(function () {
    var scaledValue = 8 - $(this).val();
    console.log(scaledValue);
});