I followed the example and the problem occurred when scolling the position of the shadow of the task will be different from the position of the mouse cursor.

Hi @linhtv97,
This issue occurred because this implementation doesn’t calculate the scroll position. In order to fix it, you should change your y-position calculation, like in this code fragment:

var y_pos;
var sPos;
var posY;
gantt.attachEvent("onMouseMove", function (id,e){
  sPos = gantt.getScrollState();
  posY = sPos.y;
  y_pos = e.clientY + posY;

Here is a snippet with example:
API getScrollState:

Thank you for doing it