javascript - 单击图库中的图像时前进光滑 slider (一页上有多个光滑 slider )

标签 javascript slick.js

我遇到了这种对光滑 slider 的修改,以便在单击当前图像时前进(见下文)。当我在包含多个画廊的页面上实现它时,当我单击一个画廊时,它会推进所有画廊,而不仅仅是选定的画廊。是否有可能使用例如“this”选择器在这里? http://codepen.io/ethanclevenger91/pen/MYNGrN

window.onload=function(){
    $slideshow = $('.slider').slick({
        dots:false,
        autoplay:false,
        arrows:false,
        adaptiveHeight: true,
        slidesToShow:1,
        slidesToScroll:1
    });
    $(".slide").click(function() {
        $slideshow.slick('slickGoTo', parseInt($slideshow.slick('slickCurrentSlide'))+1);
    });
};

最佳答案

请参阅以下代码笔:http://codepen.io/anon/pen/ZOGmWo?editors=1010

主要思想是单独定义每个 slider 。

首先,定义一个对象来容纳所有 slider :

var sliders = {};

然后,循环遍历所有 slider ,提取 ID 并保存对 map 中新定义的 slider 的引用,并按 ID 进行索引:

$('.slider').each(function (index, slider) {
    var id = slider.getAttribute('id');
    console.log(id);
    sliders[id] = $(slider).slick({ ... })
});

现在,在点击处理程序上,我们使用 $(this).closest('.slider') 并使用对其进行进度来确定单击的幻灯片属于哪个 slider 。

$('.slide').click(function() {
    var id = $(this).closest('.slider').get(0).getAttribute('id');
    var $slideshow = sliders[id];
    $slideshow.slick('slickGoTo', parseInt($slideshow.slick('slickCurrentSlide'))+1);
});

关于javascript - 单击图库中的图像时前进光滑 slider (一页上有多个光滑 slider ),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37640366/

相关文章:

javascript - 在动态添加元素时刷新 html

javascript - 创建标签框

javascript - 如何垂直和水平居中滑动 slider ?

javascript - 带有 Browserify/Shim CDN jQuery 的光滑轮播

javascript - Slick - 如何在悬停时使用暂停?

javascript - 使用 jQuery 将鼠标悬停在文本上进行切换

javascript - 窗口位置 | javascript重定向

javascript - 如何将 Controller 配置移至其自己的文件中?

javascript - 光滑的 slider 宽度错误

javascript - 寻找光滑 slider 容器高度的问题