Я обновил скрипку с несколькими правками. Надеюсь это поможет! Вы должны быть в состоянии взять это отсюда.
Скрипка https://jsfiddle.net/q246gsku/4/
JS
$(".product-preview_mobile-thumbnails-list-inner ul li").on("click", function(e) {
var container = $(this).parent().parent();
var slideWidth = $(this).height();
var frameWidth = container.height() / 2;
var slidePosition = $(this).position().top;
var offset = container.scrollTop() + slidePosition - frameWidth + slideWidth / 2;
container.animate(
{
scrollTop: offset
},
250
);
e.preventDefault();
});
$(".product-preview_mobile-thumbnails-list-inner ul li img").on(
"click",
function() {
$("img.current-mobile-thumbnail").removeClass("current-mobile-thumbnail");
$(this).addClass("current-mobile-thumbnail");
}
);
CSS
.product-preview_mobile-thumbnails-list-inner {
margin: 0 auto;
width: 100px;
overflow-y: scroll;
overflow-x: hidden;
float: left;
white-space: nowrap;
}
.product-preview_mobile-thumbnails-list-inner ul {
margin: 0 auto;
height: 200px;
list-style: none;
width: max-content;
padding: 0 20px;
}
.product-preview_mobile-thumbnails-list_item {
display: block;
margin: 0 13.49px 0 0;
}
.product-preview_mobile-thumbnails-list_item:last-child {
margin: 0;
}
.product-preview_mobile-thumbnails-list_item img {
border: 0;
border-top: 2px solid gainsboro;
box-shadow: none;
background: #FFF;
padding: 12.5px 0 0;
border-radius: 0;
width: 60px;
height: 60px;
}
.current-mobile-thumbnail {
border-top-color: #231f20!important;
}