Объединяете все картинки в спрайт и затем меняете background-position с учетом размера одного кадра, либо можно просто менять сами картинки, но это более ресурсоемкий процесс, к тому же не все картинки могут успеть прогрузиться. Готового примера под рукой нет, но смысл примерно такой же как тут
https://codepen.io/get-web/pen/pqrvLY просто смена кадров с определенной скорость, в вашем случае вы будете привязываться либо к позиции курсора, если движение будет мышью, либо к кнопкам через setTimeout
update: Готовые библиотеки можно поискать по запросу "360 view js". Например вот:
https://scaleflex.github.io/js-cloudimage-360-view/