1

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

我对获得第一张和最后一张幻灯片感兴趣的原因是因为我将分别隐藏最后一张和正确的链接。在这里看我的小提琴。我的功能是这样的:

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

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

4

1 回答 1

2

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

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

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

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

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,因为这没有做任何事情..

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

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

于 2013-01-02T13:37:08.627 回答