Свай прокрутка в мобильной версии


#1

В мобильной версии темы, а именно в карточке товара при листании свайпом фотографий работает одновременно горизонтальная и вертикальная прокрутка. Из-за этого в процессе листания фотографий, постоянно дергается экран то вверх то вниз.


#2

Вообще, это “баг” js-библиотеки, через которую работает карусель товаров (Owl Carousel) и iOS, который не понимает стиль touch-action, который как раз запрещает прокрутку по вертикали при горизонтальном свайпе. На Android такой проблемы нет.

Согласен, что решить этот нюанс в коробке не помешало бы, очень раздражает такое поведение на айфонах.

Как временное решение можно использовать небольшой скрипт. Включить модуль “Мои изменения”, создать файл в пути ТЕМА/templates/addons/my_changes/hooks/index/scripts.post.tpl и вставить туда скрипт:

<script type="text/javascript">
var isAndroid = /(android)/i.test(navigator.userAgent);
if (!isAndroid) {
    var tapArea, startX;
    tapArea = document.querySelectorAll('.ty-product-bigpicture .ty-product-img');
    startX = 0;
    for (var item of tapArea) {
        item.ontouchstart = function(e) {
            startX = e.touches[0].clientX;
        };
        item.ontouchmove = function(e) {
            if (Math.abs(e.touches[0].clientX - startX) > 5 && e.cancelable ) {
                e.preventDefault();
            }
        };
    }
}
</script>

После чего почистить кэш. Это решит проблему с параллельной прокруткой по вертикали на iOS.


#3

Проблема решилась на половину.
Работает через раз.
Есть еще какое-то решение?


#4

Реакция представителей cs-cart будет ? Уже почти месяц прошёл.


#5

Прошло еще 2 месяца, как успехи?


#6

Здравствуйте. Мы приносим извинения за такую задержку с ответом. Случайно пропустили данный пост.

Мы воспроизвели эту проблему на iPhone и сообщили нашим разработчикам. На Android такой проблемы нет.


#7

Нет, на Андроиде есть другая проблема /
Проверьте, пожалуйста


#8

Этой проблеме уже как несколько версий карта. Когда-то про это писал в баг трекер, но там ответ получил, что они не смогли воспроизвести. По факту проблема есть, но не постоянного характера, для того что б выявить нужно “поиграться”.