我正在使用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文档的第一个链接。
答案 0 :(得分:2)
我不确定你为什么要做LastSlide的事情 - 我认为你可以从函数中删除该变量,因为除法不是你需要的正确函数。
此外,你的小提琴从不显示“向左走”,因为它只会在当前等于从未发生过的lastslide时出现。
这是使功能有效的一个非常简单的小提琴:http://jsfiddle.net/CKxg9/14/
这些名字也令人困惑。我的意思是CURRENT幻灯片计数1(3 DIVS),2(6 DIVS),总幻灯片是10(在我的情况下我使用14),这应该是DIVS而不是幻灯片.. 所以,如果你真的想要使用lastlide的东西,你可以使用:
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/ 你当然可以删除lastlide,因为这没有做任何事情。
你还需要在当前>的某个地方初始化$('#left')。show() 1 ...
这应该可以帮助您解决问题 - 我希望......