我正在寻找一种方法,可以在用户使用导航滑块时将用户的最小和最大极限捕捉到现有点。这是我可以通过现有选项完成的事情还是有其他人完成了这个?这里的最终目标是,如果我在一个系列中设置两个点,例如(1365444905,1)和(1365444919,10),当用户滑动栏时我应该只返回1365444905或1365444919。
感谢。
答案 0 :(得分:0)
不幸的是,使用现有选项无法做到这一点。我认为它需要在导航器mouseMoveHandler
方法中进行一些修改。您可以在此处找到它:https://github.com/highslide-software/highcharts.com/blob/5b1f3b0bc492252bbe0e283ec698480dbc179ba5/js/parts/Scroller.js#L651
以下是您应该看一下的功能部分:
// drag left handle
if (scroller.grabbedLeft) {
hasDragged = true;
scroller.render(0, 0, chartX - navigatorLeft, scroller.otherHandlePos);
// drag right handle
} else if (scroller.grabbedRight) {
hasDragged = true;
scroller.render(0, 0, scroller.otherHandlePos, chartX - navigatorLeft);
// drag scrollbar or open area in navigator
} else if (scroller.grabbedCenter) {
hasDragged = true;
if (chartX < dragOffset) { // outside left
chartX = dragOffset;
} else if (chartX > navigatorWidth + dragOffset - range) { // outside right
chartX = navigatorWidth + dragOffset - range;
}
scroller.render(0, 0, chartX - dragOffset, chartX - dragOffset + range);
}