С перемещением никаких трабл не возникает, просто меняйте left/top у элемента при mousemove элемента, на которого наведена мышь. У меня например это реализовано так:
this.onmousemove = function (ev) {
ev = ev || window.event;
_hint = document.getElementById('hint');
_hint.style.top = ev.pageY + 10;
_hint.style.left = ev.pageX + 10;
}