На моем highchart мне нужна задержка до появления всплывающей подсказки серии.Highcharts: Задержка подсказки перед отображением
Я определил новую функцию обновления с таймером, чтобы реализовать ее. Если таймер готов, я проверю, находится ли положение мыши. Если это не так, то должна появиться всплывающая подсказка.
function (H) {
var timer = [];
var mousePosition = {
x: 0,
y: 0
};
window.addEventListener("mousemove", function (event) {
mousePosition.x = event.pageX;
mousePosition.y = event.pageY;
});
var getMousePositionX = function() {
return mousePosition.x;
};
var clearTimer = function() {
timer = [];
}
H.wrap(H.Tooltip.prototype, 'refresh', function (proceed) {
var mousePosX = getMousePositionX();
var delayForDisplay = this.chart.options.tooltip.delayForDisplay ? this.chart.options.tooltip.delayForDisplay : 1000;
timer[timer.length+1] = window.setTimeout(function() {
var currMousePosX = getMousePositionX();
if ((mousePosX >= currMousePosX - 5 && mousePosX <= currMousePosX + 5)) {
this.proceed.apply(this.tooltip, this.refreshArguments);
clearTimer();
}
}.bind({
refreshArguments: Array.prototype.slice.call(arguments, 1),
chart: this.chart,
tooltip: this,
clearTimer: clearTimer,
proceed: proceed
}), delayForDisplay);
});
};
Проблема, которая есть у меня, заключается в том, что голово-зависание также имеет задержку.
Вот пример: JSFiddle
Любые решения по этому вопросу?
Я надеюсь, что это пример может помочь вам в вашей проблеме: http://jsfiddle.net/az39das8/ –
@ GrzegorzBlachliński: Это именно то, что я искал. Ты потрясающий :) – 1337
С удовольствием прочитал, что моя идея сработала для вас. Я разместил его как ответ :) –