我有一系列带有开始值和结束值的时间范围。
var timeRanges = [{
start: 120,
end: 140
},{
start: 180,
end: 220
},{
start: 250,
end: 300
}]
需要检查选择的范围是否与时间范围重叠。并且所选范围应位于 timeRange 间隔之间。 (例如:140-180、220-250)
var selected = {
start: 150,
end: 170
}
时间间隔B
“重叠”A
if:
-
B
之后开始A
开始但之前A
完成。
-
B
之前开始A
开始并结束于A
starts.
所以你可以编写一个函数来准确地决定这一点。
function areOverlapping(A, B) {
if(B.start < A.start) {
return B.finish > A.start;
}
else {
return B.start < A.finish;
}
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)