javascript - JS:单击元素时我更接近哪一端
问题描述
如果有一个简单的答案,我提前道歉,我的借口是我病了,现在不能思考!
基本上我有一个元素数组,它们对应于一个带有 2 个手柄的范围滑块,基本上是 2 个覆盖范围滑块。
Monday Tuesday Wednesday Thursday Friday Saturday Sunday
[0] [1] [2] [3] [4] [5] [6]
x x
我们将星期几的索引传递给函数,当然是 0-6。
我想要做的是单击一周中的某一天,然后获取哪个范围(最小/最大)滑块更接近该值。所以使用上面的例子,点击星期四意味着右边的x更近了。
单击星期二将意味着第一个x更接近,因此我可以相应地更改相应的数据。
没有显示任何代码,因为它不会真正帮助,因为这更像是一个数学问题。
谢谢。
解决方案
如果left
和right
是从 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
}
}
推荐阅读
- xcode - 如何在 Xcode 中移动文件而不会导致“在范围内找不到‘文件名’”?
- python - 提取标记类时的空列表
- javascript - 如何在多个地方使用单个组件?
- python - 用于外部 API 调用的可浏览 Django REST API 包装器
- php - 致命错误:无法声明类 XMLParser,因为该名称已在第 17 行的 C:\Apache24\htdocs\inc\class_xml.php 中使用
- entity-framework - Entity Framework Core 3.1 - 创建安全的自引用一对多关系
- python - 使用跟踪时 Spinbox IntVar textvariable 上的 get() 错误
- php - PHP 中的 FTP_PUT 和远程文件系统
- python - 编写代码以在 sklearn 中生成两个圆,半径 r1=2 和 r2=5,中心位于 (5,3)
- python - blender api image.save() 总是创建纯黑色图像