возможно
вешаете на body события mouseover mouseout и mousemove
в последнем будет реализована большая часть логики, а первые два скорее формальность
так вот на mousemove перехватываете событие, и получаете "верхний объект" по которому было произведено событие, и обрабатываете его
http://javascript.ru/tutorial/events/intro