سلام
با استفاده از setTimeout یک تایمر تعریف کنید که بعد از زمان مشخص افکت تصویر مورد نظر رو اجرا کند و بعد از پایان افکت دوباره تایمر رو اجرا کنید
تایمر تعریف شده در بالا را با استفاده از رویداد mouseout و mouseover متوقف و یا مجددا دوباره اجرا کنید
با استفاده از css میتونید سایز تصاویر رو فیت کنید
اینجا یک مثال خیلی ساده براتون زدم جزئیاتی مثل لودینگ و افکت های تصاویر و جهت جابجایی و استفاده از کیبورد برای جابجایی و پشتیبانی از تمام مرورگرها و بهینه سازی و موارد دیگر بسیار راحت هست فقط باید کمی وقت صرف کنید
https://codepen.io/h_steam/pen/XPrKgJ