首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >输入范围值的指数增长

输入范围值的指数增长
EN

Stack Overflow用户
提问于 2016-06-14 22:14:58
回答 2查看 1.4K关注 0票数 1

使用HTML输入元素定义范围时,如下图所示:

<input type="range" min="1" max="1000" value="100" name="distance"/>

有没有可能让这些值呈指数增长?例如,如果你在左边稍微滑动一下,就会产生1到2的差异(例如距离),但如果你在右边滑动相同的量,就会产生900英里和1000英里的差异。

你懂我说的意思吗?因为中位数是500是不公平的,然后你永远不能将它微调到20或40,但另一方面,如果你走得更高,将它微调到820或840的差别越来越小。

我希望我的问题是清楚的。提前谢谢。

EN

回答 2

Stack Overflow用户

发布于 2016-06-14 22:22:06

你应该监听这个范围的"input“事件,获取这个值,然后用javascript计算指数。您可以将值范围设置为0..100以使事情稍微轻松一些。

票数 1
EN

Stack Overflow用户

发布于 2017-02-14 05:01:31

HMTL

代码语言:javascript
复制
<input id="distanceRange" type="range" name="distance" min="0" max="100" value="0">

<output id="distanceOutput">1</output>

javascript

代码语言:javascript
复制
document.getElementById("distanceRange").oninput = function(){
  document.getElementById("distanceOutput").value = Math.round(Math.exp((Math.log(1000)/100) * document.getElementById("distanceRange").value));
};
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37814574

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档