【问题标题】:BxSlider - get first and last slideBxSlider - 获取第一张和最后一张幻灯片
【发布时间】:2013-01-02 12:28:41
【问题描述】:

我正在使用BxSlider 制作滑块。我已将其设置为当时显示 3 张幻灯片。工作正常。 现在我试图通过计算当前和总幻灯片数来获得第一张和最后一张幻灯片。目前我总共有 10 张幻灯片 - 这个数字可能会有所不同 - (当时显示 3 张),所以我的功能不起作用。如果我显然有六九张幻灯片,它就可以工作。

我对获取第一张和最后一张幻灯片感兴趣的原因是因为我要分别隐藏最后一个和正确的链接。见我的fiddle here。 我的功能是这样的:

function LastSlide() {
            var total = slider.getSlideCount();
            var current = slider.getCurrentSlide() + 1;
            var lastslide = total / current;
            if (current == lastslide) { // Last slide
               //run stuff
            }
        }

- 但是当 lastslide 得到小数时,坏事就开始发生了。 有人知道如何解决这个问题吗?请参阅 bxSlider 文档的第一个链接。

【问题讨论】:

    标签: jquery slider bxslider


    【解决方案1】:

    我不确定您究竟为什么要执行 LastSlide 的事情 - 我认为您可以从函数中删除该变量,因为除法不是您需要的正确函数。

    此外,您的小提琴永远不会显示“向左走”,因为它仅在当前等于 lastslide 时才会出现,而这种情况永远不会发生。

    这是一个非常简单的小提琴,可以使功能正常工作:http://jsfiddle.net/CKxg9/14/

    名字也很混乱。我的意思是当前幻灯片计数 1(3 个 DIVS)、2 个(6 个 DIVS),幻灯片总数为 10(在我的情况下我使用了 14 个),这应该是 DIVS 而不是幻灯片。 因此,如果您真的想使用 lastslide 的东西,您可以使用:

    var total = Math.ceil(slider.getSlideCount()/3);
    

    这意味着如果你有 10 个 DIVS,并且你想一次滑动 3 个,你将有 4 个幻灯片 (1-3,4-6,7-9,10) 现在你可以使用

    if (current == total) {
        $('#right').hide();
    } else {
        $('#right').show();
    }
    

    这是使用第二种方法的小提琴:http://jsfiddle.net/CKxg9/15/ 您当然可以删除 lastslide,因为这没有任何作用..

    当当前 > 1 时,您仍然需要在某处初始化 $('#left').show() ...

    这应该可以帮助您解决问题 - 我希望..

    【讨论】:

    • gulty,这是完美的。非常感谢您的帮助。
    猜你喜欢
    • 2013-08-24
    • 1970-01-01
    • 2021-01-17
    • 2013-04-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-12-24
    相关资源
    最近更新 更多