Jquery 如何将flexslider移动到最后一张幻灯片

Jquery 如何将flexslider移动到最后一张幻灯片,jquery,arrays,flexslider,Jquery,Arrays,Flexslider,我有一个flexslider对象,它工作得很好。 但是,我在页面上有一个锚,需要将旋转木马移动到最后一张幻灯片。 此外,幻灯片编号可能会有所不同,因此以特定索引值为目标无法满足要求 我在移动到特定索引时没有问题,例如(移动到第一个索引位置): 我想可能有某种类型的关键字,或者一个等式,但我还没有找到可靠的资源。 有什么想法吗?我想你已经接近答案了。 您可以通过.index()函数获取集合/选择器中任何相关元素的索引 现在,让我们假设您有ul类。幻灯片,包含几个li 要获取最后一个li的索引,请执

我有一个flexslider对象,它工作得很好。 但是,我在页面上有一个锚,需要将旋转木马移动到最后一张幻灯片。 此外,幻灯片编号可能会有所不同,因此以特定索引值为目标无法满足要求

我在移动到特定索引时没有问题,例如(移动到第一个索引位置):

我想可能有某种类型的关键字,或者一个等式,但我还没有找到可靠的资源。
有什么想法吗?

我想你已经接近答案了。 您可以通过
.index()
函数获取集合/选择器中任何相关元素的索引

现在,让我们假设您有ul类
。幻灯片
,包含几个
li

要获取最后一个li的索引,请执行以下操作:

var index = $('.slides li').index($('.slides li:last'));
现在,由于您已经获得了所需幻灯片的索引,您可以将此索引传递到
flexslider
以激活或显示该幻灯片:

$('.flexslider').data("flexslider").flexAnimate(index);
您可以看到,默认情况下,滑块从最后一张幻灯片开始。希望这有帮助

此外,您可以将其用于
单击处理程序

更新:幻灯片出现问题,不允许手动滑动,除非单击滑块的下一个或上一个链接。 我发现可能的修复方法是:

var lastSlide = $('.slides li').index($('.slides li:last'));
$("a.specs").click(function () {    
    flex.flexslider('next'); // This is the trick. 
    flex.flexslider(lastSlide)
});

演示:

如果绕过.flexslider辅助函数,则可以覆盖内部检查器

$('.flexslider').data("flexslider").flexAnimate(index, true, true);
第三个参数是覆盖参数。它基本上强制flexslider为该幻灯片设置动画,即使它没有通过canAdvance检查的内部检查


如果要淡入动画而不是滑动,这是必需的。K的解决方案不适用于淡入淡出动画。

感谢您的快速响应!这绝对是我试图去的方向。我有这个地方,在一个点击处理程序,但它不想动画。我在console.log中得到一个响应,显示选择了哪个索引,但滑块没有移动。。。我正在使用flex控件之外的锚,可能存在范围问题?请在此处共享该代码。我认为这不会是一个范围问题evar lastSlide=$('.slides li').index($('.slides li:last'))$(“a.specs”)。单击(函数(){console.log(lastSlide);$('.flexslider')。数据(“flexslider”)。flexAnimate(lastSlide);});在这里对我有用:。全局定义了最后一张幻灯片,然后重试。它应该很管用,非常感谢你,很有魅力!!!(我的代表一上来,我就要投票表决这个回答)。。。你是一个真正的javascript忍者!
$('.flexslider').data("flexslider").flexAnimate(index, true, true);