对数滑块返回 NaN

发布于 2024-10-14 10:24:03 字数 1077 浏览 10 评论 0原文

我正在尝试按照 对数滑块 中的示例进行操作。

这是我正在使用的代码:

Timeline._MIN_PER_MINUTE = 1;
Timeline._MIN_PER_HOUR = Timeline._MIN_PER_MINUTE * 60.0;
Timeline._MIN_PER_DAY = Timeline._MIN_PER_HOUR * 24.0;
Timeline._MIN_PER_WEEK = Timeline._MIN_PER_DAY * 7.0;
Timeline._MIN_PER_MONTH = Timeline._MIN_PER_WEEK * 4.0;
Timeline._MIN_PER_YEAR = Timeline._MIN_PER_MONTH * 12.0;

var scale_down = 0.00001;
var scale_up = 100000;
Timeline._SLIDER_MIN = 0;
Timeline._SlIDER_MAX = 100;
Timeline._SLIDER_STEP = 1;

Timeline._scale = function (value) {
  var minIn = Timeline._SLIDER_MIN;
  var maxIn = Timeline._SLIDER_MAX;

  var minOut = Math.log(Timeline._MIN_PER_MINUTE);
  var maxOut = Math.log(Timeline._MIN_PER_YEAR);

  var scale = (maxOut - minOut) / (maxIn - minIn);

  return Math.exp(minOut + scale * (value - minIn));
};

Timeline._sliderChangedHandler = function(id){
  var val = Timeline._scale($('#scale_slider' + id).val());
  alert(val);
};

由于某种原因,我得到 NaN 结果。 有人知道我做错了什么吗?

I'm trying to follow the example at Logarithmic slider.

Here's the code I'm using:

Timeline._MIN_PER_MINUTE = 1;
Timeline._MIN_PER_HOUR = Timeline._MIN_PER_MINUTE * 60.0;
Timeline._MIN_PER_DAY = Timeline._MIN_PER_HOUR * 24.0;
Timeline._MIN_PER_WEEK = Timeline._MIN_PER_DAY * 7.0;
Timeline._MIN_PER_MONTH = Timeline._MIN_PER_WEEK * 4.0;
Timeline._MIN_PER_YEAR = Timeline._MIN_PER_MONTH * 12.0;

var scale_down = 0.00001;
var scale_up = 100000;
Timeline._SLIDER_MIN = 0;
Timeline._SlIDER_MAX = 100;
Timeline._SLIDER_STEP = 1;

Timeline._scale = function (value) {
  var minIn = Timeline._SLIDER_MIN;
  var maxIn = Timeline._SLIDER_MAX;

  var minOut = Math.log(Timeline._MIN_PER_MINUTE);
  var maxOut = Math.log(Timeline._MIN_PER_YEAR);

  var scale = (maxOut - minOut) / (maxIn - minIn);

  return Math.exp(minOut + scale * (value - minIn));
};

Timeline._sliderChangedHandler = function(id){
  var val = Timeline._scale($('#scale_slider' + id).val());
  alert(val);
};

For some reason I get NaN as a result.
Does someone know what I'm doing wrong?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

囚你心 2024-10-21 10:24:03

用这个
var val = Timeline._scale(parseInt($('#scale_slider' + id).val(), 10));

use this
var val = Timeline._scale(parseInt($('#scale_slider' + id).val(), 10));

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文