Javascript Flexislider缩略图单击问题-中间问题
步骤:反复单击1-3,然后单击两次活动thumnail,然后下一次thumnail单击无效 我用缩略图实现了Flexi Slider,工作正常,但有时缩略图不可点击。不知道我哪里出错了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
/* 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演示: