Это не должно быть очень сложно реализовать с помощью jQueryUI Draggable . Перетаскиваемый объект должен находиться внутри контейнера (высота: 100%, высота: 100%, переполнение: скрыто). Draggable имеет различные параметры и события. Например, на stop
вы должны проверить, находится ли перетаскиваемый объект от краев контейнера, и сдвинуть его обратно к ним.