WooCommerce: отключить перетаскивание на определенных страницах продукта c - PullRequest
0 голосов
/ 10 апреля 2020

Я настроил собственный скрипт для первого изображения товара, в котором используются события перетаскивания. Но сейчас, когда я тащу - ползунок начинает функционировать. Я понял, как отключить перетаскивание после загрузки страницы (через firebug). Но как я могу отключить сразу после того, как это было установлено woocommerce?

Я пробовал это:

flickityInterval = setInterval('disableGalleryDrag()', 1000);

function disableGalleryDrag(){
        //disable draggable for gallery
        $carousel = jQuery(".product-gallery-slider").flickity();
        var flkty = $carousel.data('flickity');

        flkty.options.draggable = false;
        flkty.updateDraggable();

        clearInterval(flickityInterval);

}

Но по какой-то причине это работает только частично. Небольшое перетаскивание не запускает перетаскивание ползунка, но если вы делаете слайд большего размера, оно делает.

1 Ответ

0 голосов
/ 10 апреля 2020

Разобрался. Просто нужно обработать ошибки.

flickityInterval = setInterval('disableGalleryDrag()', 1000);
function disableGalleryDrag(){
    try {
        //disable draggable for gallery
        $carousel = jQuery(".product-gallery-slider").flickity();
        var flkty = $carousel.data('flickity');

        flkty.options.draggable = false;
        flkty.updateDraggable();

        clearInterval(flickityInterval);
    }
    catch(err) {

    }

}
...