Прежде всего вы должны дать содержащемуся div a position:relative
.Таким образом, абсолютно позиционированный драгер остается внутри него и не может пересекать его границы.
Я не уверен, почему прокрутка не работает, но есть ли причина, по которой вы сами написали свою функцию перетаскивания, покау вас есть доступ к JQuery?В jQuery есть мощная функция draggable , которая делает именно то, что вы хотите.