Последняя версия Chrome 69 теперь поддерживает тип scroll-snap-type, но, видимо, не очень хорошо.
Оригинальный CSS:
.carousel {
scroll-snap-type: x mandatory;
}
Использование jQuery для анимации перехода:
$(".carousel").css("scroll-snap-type", "none");
$(".carousel").animate({
scrollLeft : 1000,
}, {
complete : function() {
// fail:
$(".carousel").css("scroll-snap-type", "x mandatory");
}
});
Если мы этого не сделаем, анимация привязывается к каждому элементу в карусели, делая его очень резким, а не плавным.Итак, сначала мы отключаем CSS типа scroll-snap.Это прекрасно работает.Единственная проблема в том, что Chrome игнорирует инструкцию по восстановлению этого свойства до его первоначального значения!
Мне сказали, что это работает в Safari.
Любые мысли, решения, обходные пути будут приветствоваться!