OWL旋转木马2:页面加载时的当前项目



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

$(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()为空

有什么想法吗?

谢谢。

您必须为此使用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/.

最新更新