Javascript Flexislider缩略图单击问题-中间问题

Javascript Flexislider缩略图单击问题-中间问题,javascript,jquery,drupal,flexslider,Javascript,Jquery,Drupal,Flexslider,步骤:反复单击1-3,然后单击两次活动thumnail,然后下一次thumnail单击无效 我用缩略图实现了Flexi Slider,工作正常,但有时缩略图不可点击。不知道我哪里出错了 /* New Slider */ $('.sliderNew #carousel').flexslider({ animation : "slide", controlNav : true, animationLoop : true

步骤:反复单击1-3,然后单击两次活动thumnail,然后下一次thumnail单击无效

我用缩略图实现了Flexi Slider,工作正常,但有时缩略图不可点击。不知道我哪里出错了

/* New Slider */
    $('.sliderNew #carousel').flexslider({
        animation       : "slide",
        controlNav      : true,
        animationLoop   : true,
        slideshow       : true,
        itemWidth       : 140,
        itemMargin      : 5,
        minItems        : 1,
        asNavFor        : '.sliderNew #slider',
        reverse         : false
    });

    $('.sliderNew #slider').flexslider({
        animation       : "slide",
        controlNav      : false,
        animationLoop   : true,
        slideshow       : true,
        reverse         : false,        
        sync            : ".sliderNew #carousel",
        start: function( slider ) {
            $('.sliderNew #carousel .slides li').on('click',function(event){
                //alert('asd')
                $('.sliderNew #slider').flexslider("play");
            });
        }       
    });
    /* New Slider */
谢谢你的帮助


谢谢

首先,由于您已经在使用ID获取DOM元素,因此只需使用
$('slider')
而不是
$('.sliderNew'slider')
。同样的逻辑适用于carousel元素:)

我认为您可能希望在
img
元素上设置click处理程序,而不是它的父元素(
li
元素)。所以也许:

start: function( slider ) {
        $('#carousel .slides li img').on('click',function(event){
            $('#slider').flexslider("play");
        });
    } 

我对这一点有预感,我认为每当你的幻灯片运行时,它都会从你的拇指上掠过,这在我参与的一个项目中发生过一次

以下不是一个很好的z-index实践,但它应该可以帮助您发现这是否是问题所在

在css中添加以下内容以测试理论:

#carousel .slides li{
    z-index:9999;
}

我做了一些挖掘,发现这可能是由于您正在使用的FlexSlider版本(版本2.1)中的一个bug造成的。在Github更新中(不幸的是,它们只返回到版本2.2),我确实读到了一些关于“点击处理程序更新”的内容,所以我想你很不幸地发现了一个老bug。我已经追查到了,但这或多或少是个猜测

好的一面是,他们已经解决了这个问题。我已经更新了JSFIDLE以使用FlexSlider的新版本:

您可能还想检查一下您正在使用CSS/定位做什么,因为该演示在Safari/Chrome(OSX)中似乎正在崩溃。我在您的CSS中做了一个快速修复,使导航元素出现在这个新版本中(未注释
高度:0
),但是您还需要更新CSS以使用FlexSlider的2.3版本

 .sliderNew #carousel .flex-viewport {
     border :none;
     //height:0;
     display:inline-block;
     width:100%;
 }

如果你的演示页面没有密码保护,这样人们就可以看到它了!我要做的第一件事是看看是否有其他元素覆盖了缩略图。你有链接吗?或者你能把滑块组装成小提琴吗?谢谢你的回复,让我把它与网站整合起来。我会随时通知你的。感谢AgainHi Eric,将slideshow和AnimationLoop都转换为True,活动类现在不工作:-(更新:将两个值都转换为True演示: