【问题标题】:OWL Carousel 2: current item when page loadsOWL Carousel 2:页面加载时的当前项目
【发布时间】:2014-09-21 06:33:46
【问题描述】:

我需要在页面加载时将类更改为当前项目。我在当前项目中显示标题。代码如下:

$(document).ready(function() {

    $('#slider').on('change.owl.carousel changed.owl.carousel', function(e) { 
        if (e.property.name != 'position') return;

        var current = e.relatedTarget.current()
        var items = $(this).find('.owl-stage').children()
        var add = e.type == 'changed'

        items.eq(e.relatedTarget.normalize(current )).toggleClass('current', add)
    });

    $('#slider').owlCarousel({        

        items : 2,        
        nav: true,
        loop: true,        
    });
})

这里是一个工作示例:http://jsfiddle.net/kurtko/1qdurrLz/16/

此代码在轮播更改时工作正常,但在加载页面时失败,因为 e.relatedTarget.current() 为空

有什么想法吗?

谢谢。

【问题讨论】:

    标签: owl-carousel


    【解决方案1】:

    您必须为此使用initialized 事件:

    $(document).ready(function() {
        $('#slider').on('initialized.owl.carousel change.owl.carousel changed.owl.carousel', function(e) { 
            if (!e.namespace || e.type != 'initialized' && e.property.name != 'position') return
    
            var current = e.relatedTarget.current()
            var items = $(this).find('.owl-stage').children()
            var add = e.type == 'changed' || e.type == 'initialized'
    
            items.eq(e.relatedTarget.normalize(current)).toggleClass('current', add)
        }).owlCarousel({
            items : 2,        
            nav: true,
            loop: true,        
        });
    });
    

    http://jsfiddle.net/1qdurrLz/18/

    【讨论】:

    • 如果它回答了您的问题,请将其标记为正确。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-04-11
    • 2016-02-14
    • 2017-07-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-05-08
    相关资源
    最近更新 更多