代码之家  ›  专栏  ›  技术社区  ›  DeLe

嵌套猫头鹰旋转木马2不工作

  •  1
  • DeLe  · 技术社区  · 6 年前

    我有两个猫头鹰旋转木马 like
    这是html结构

        <li class="product">
            <ul class="product-image-slider owl-carousel">
                <li>image 1</li>
                <li>image 1</li>
            </ul>
            content here..
        </li>
        <li class="product">
            <ul>
                <li>1</li>
                <li>1</li>
            </ul>
            content here..
        </li>
        <li class="product">
            <ul>
                <li>1</li>
                <li>1</li>
            </ul>
            content here..
        </li>  
    </ul>
    

    $(document).ready(function() {
                var outerCarousel = $('.product-lists.owl-carousel');
                outerCarousel.owlCarousel({
                    loop: true,
                    center: true,
                    items: 1,
                    nav: false,
                    dots: false
                });
    
                var innerCarousel = $('.product-image-slider.owl-carousel');
                innerCarousel.owlCarousel({
                    loop: true,
                    center: true,
                    items: 1,
                    nav: false,
                    dots: false,
                    /* mouseDrag: false,
                    touchDrag: false,
                    pullDrag: false */
                });
    
            });
    

    但当我拖动旋转木马内部(产品图像滑块),然后父旋转木马也拖动。 我试图禁用或阻止父旋转木马,但无法工作。就像

    innerCarousel.on('drag.owl.carousel', function(event) {
            outerCarousel.data('owl.carousel').settings.touchDrag = false;
            outerCarousel.data('owl.carousel').settings.mouseDrag = false;
        });
        innerCarousel.on('dragged.owl.carousel', function(event) {
            outerCarousel.data('owl.carousel').settings.touchDrag = true;
            outerCarousel.data('owl.carousel').settings.mouseDrag = true;
        });
    

    我该怎么办谢谢

    1 回复  |  直到 6 年前
        1
  •  3
  •   user9748360    6 年前

    你可以试试这个

    https://jsfiddle.net/ugrw2vjq/19/

    使用说明书 drag.owl.carouse dragged.owl.carousel 事件 您可以使用owl carousel的mousedown核心事件。

    要实现您想要的目标,必须停止将此事件从内部传送带传播到外部传送带,因此mousedown事件将在内部传送带上触发,但不会传播到id后面的元素。

    你需要旋转木马在回路上吗?当您将内部旋转木马放在第一张幻灯片中,并且该幻灯片在循环时是封闭的,这将导致您在从第一个元素向后拖动主旋转木马时出现问题