javascript - OWL Carousel 2 向项目添加类

标签 javascript jquery owl-carousel owl-carousel-2

我正在处理一个包含两个同步猫头鹰 slider 的 slider 。 sync1 是主 slider ,sync2 是缩略图 slider 。当我单击第二个 slider 的元素之一时,sync1 会转到正确的幻灯片。 现在我的问题:

当用户点击任何缩略图时,绿色边框应该出现在被点击的元素上,并且应该一直留在那里直到另一个元素被点击。

我尝试使用 jquery .addClass 和 .css 但没有任何反应。

我认为我应该添加带有“position: absolute”的 div 以支持单击的元素,但我不知道该怎么做。请帮忙! :)

这是我的代码

$(document).ready(function() {
var sync1 = $("#sync1");
var sync2 = $("#sync2");
var index2=0;
var flag=true;


var slides = sync1.owlCarousel({
    items: 1,
    loop: true,
    autoplay: true,
    autoplayTimeout:5000,
    autoplayHoverPause:true,
    nav: false,
    mousedrag: false,
    touchdrag: false,
    pulldrag: false

});

$(document).on('click', '.prevbutton, .nextbutton',function() {
    sync1.trigger('stop.owl.autoplay');

});

sync1.on('changed.owl.carousel', function(event) {
    var index1=event.item.index;
    var index11 = index1-2;
    //console.log("index1", index1)
    //console.log("index11", index11);
    sync2.trigger("to.owl.carousel", [index11, 100, true]);
});


$('.nextbutton').click(function() {
    //console.log(sync1);
    sync1.trigger('next.owl.carousel');

});

$('.prevbutton').click(function() {
    // With optional speed parameter
    // Parameters has to be in square bracket '[]'
    //console.log(sync1);
    sync1.trigger('prev.owl.carousel', [500]);


});


/* thumbnails*/

var thumbnails= sync2.owlCarousel({
    items: 6,
    loop: true,
    autoplay: false,
    mousedrag: false,
    touchdrag: false,
    pulldrag: false,
    addClassActive: true
});
/*buttons*/
$('.nextbutton2').click(function() {
    sync2.trigger('next.owl.carousel');

});


$('.prevbutton2').click(function() {
    // With optional speed parameter
    // Parameters has to be in square bracket '[]'
    sync2.trigger('prev.owl.carousel', [500]);


});


sync2.trigger("to.owl.carousel", [index2, 100, true]);
sync2.on('changed.owl.carousel', function(event) {
    index2=event.item.index;
    //console.log("index2", index2);
    index22=index2-1;
    // sync1.trigger("to.owl.carousel", [index22, 100, true]);
});
// console.log("index2", index2);

sync2.on('click', '.item', function(e) {
    e.preventDefault();
    sync1.trigger('to.owl.carousel', [$(e.target).parents('.owl-item').index()-6, 300, true]);
    // console.log("clicked index", $(e.target).parents('.owl-item').index())

});



$('#stopcontainer').on('mouseover', function(){

    if ($('#stopcontainer:hover').length != 0) {
        flag=true;
        console.log("flaga", flag);
    }
    if (flag==true) {
        sync1.trigger('stop.owl.autoplay');
        console.log("mousein");
    }

}).on('mouseleave',  function() {
        setTimeout(
            function()
            {
                if ($('#stopcontainer:hover').length == 0) {
                    flag=false;
                    console.log("flaga", flag);
                }
                if(flag==false){
                    console.log('mouse leave');
                    sync1.trigger('play.owl.autoplay');
                }

            }, 5000)}
);

});

最佳答案

解决方法如下:

sync2.on('click', '.owl-item', function(e) {
    e.preventDefault();
    $('.some-class').removeClass('active');
    $(this).find('.some-class:first').addClass('active');
});

旋转木马项目中有一个带有“some-class”的空 div,当您单击该元素时,添加了“active”类

关于javascript - OWL Carousel 2 向项目添加类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28453913/

相关文章:

javascript - AngularJS Controller 在模板加载之前执行

javascript - 使用 angularjs+codeigniter 成功添加用户时在 html 中显示消息

javascript - Canvas 不跟进图像的大小调整?

javascript - 克隆表单元素并增加名称标签

Javascript : How do I map gps coordinates to an image

javascript - jQuery Unresolved 冲突

javascript - jqGrid 在页面加载时选择第一行

jquery - 如何在IE浏览器中运行 Owl Carousel slider 的淡入淡出效果

javascript - 每个函数只触发一次

javascript - Owl Carousel 100% 高度