javascript - 事件监听器在 Owl Carousel 中不起作用

标签 javascript jquery owl-carousel

我想听事件,但它对我不起作用 正如你所看到的,我尝试使用 console.log(pages);听页数,但当我打开控制台时,我没有得到任何响应

var owl = $('.owl-carousel');


        owl.owlCarousel({

            onDragged: callback,

            animateOut: 'fadeOut',
            animateIn: 'fadeIn',
            items: 1,
            loop: true,
            autoplay: false,
            nav: true,
            dots: true
        });
        function callback(event) {

            var pages     = event.page.count;     // Number of pages

            console.log(pages);

        }

你能帮忙吗?

最佳答案

回调

您还可以只向 Owl Carousel 的选项添加回调,而不是附加事件处理程序。

$('.owl-carousel').owlCarousel({
    onDragged: callback
});
function callback(event) {
    ...
}

数据

每个事件都会在事件对象内传递非常有用的信息。基于上面的例子:

function callback(event) {
    // Provided by the core
    var element   = event.target;         // DOM element, in this example .owl-carousel
    var name      = event.type;           // Name of the event, in this example dragged
    var namespace = event.namespace;      // Namespace of the event, in this example owl.carousel
    var items     = event.item.count;     // Number of items
    var item      = event.item.index;     // Position of the current item
    // Provided by the navigation plugin
    var pages     = event.page.count;     // Number of pages
    var page      = event.page.index;     // Position of the current page
    var size      = event.page.size;      // Number of items per page
}

来自:

http://www.owlcarousel.owlgraphic.com/docs/api-events.html

你的例子对我来说看起来不错,只需打印前后,以确保你的属性(property)将被 owlCarroussel 拿走。您添加了正确的 jQuery header 吗?

<a href="http://jquery.com/">jQuery</a>
<script src="jquery.js"></script>
<script>
   var owl = $('.owl-carousel');

    alert('before')
    owl.owlCarousel({

        onDragged: callback,

        animateOut: 'fadeOut',
        animateIn: 'fadeIn',
        items: 1,
        loop: true,
        autoplay: false,
        nav: true,
        dots: true
    });
    alert('After')
    function callback(event) {

        var pages     = event.page.count;     // Number of pages

        console.log(pages);

    }
</script>

关于javascript - 事件监听器在 Owl Carousel 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38076018/

相关文章:

javascript - PDF3D - 如何提取网格颜色并更改按钮背景填充颜色

javascript - jquery按钮触发服务器端onclick事件

javascript - 如何让 jQuery pop 再次消失?

html - AngularJS 中未识别 Owl Carousel

javascript - 在幻灯片放映开始之前,所有幻灯片的图像都显示在一个堆栈中,打破了网站的布局几分之一秒

javascript - 取消以下 'then' 函数中的 $timeout 是否有效?

javascript - javascript和css之间的样式冲突

javascript - 如何使用 jquery 动态添加/删除文件类型输入字段?

jquery获取json数组的长度

javascript - Owl Carousel 未在 Elementor 实时预览中显示