JS:单击元素时我靠近哪一端

时间:2018-11-15 11:06:49

标签: javascript

如果对此有一个简单的答案,我会提前道歉,我的借口是我病了,现在不能直截了当!

基本上,我有一个元素数组,它们对应于具有2个手柄的范围滑块,基本上是2个范围滑块重叠。

Monday Tuesday Wednesday Thursday Friday Saturday Sunday
 [0]     [1]      [2]      [3]     [4]     [5]     [6]
  x                                 x

我们将星期几的索引传递给函数,当然它是0-6。

我想做的是单击一周中的某一天,然后获取哪个范围(最小/最大)滑块更接近该值。因此,使用上面的示例,单击星期四意味着右边的 x 更近。

点击星期二意味着第一个 x 越来越近,因此我可以相应地更改相应的数据。

没有显示任何代码,因为它实际上并没有帮助,因为这更多的是数学问题。

谢谢。

1 个答案:

答案 0 :(得分:2)

如果leftright是从0到6的整数,代表X出现的天数,而day是单击的天数:

function nearestDate(left, right, day) {
  const compare = (day - left) - (right - day);
  if (compare === 0) {
     // they're equidistant;
  } else if (compare < 0) {
     // left one's closer
  } else {
     // right one's closer
  }
}