我正在使用 Javascript 制作圆形图像轮播。
它需要是圆形的,如果当前选择了 0 位置幻灯片并按下“上一个”,它将跳转到最后一个位置幻灯片。如果当前选择了最后一个位置幻灯片并按下“下一步”,它将跳转到 0 位置幻灯片。
另一个程序处理整个幻灯片,但我可以:
- 移位后检测当前位置
slide.current
- 第一个位置是 0 - 检测幻灯片的总数(在页面重新加载之前不会改变)
slide.items.length
- 在幻灯片程序完成自己的补充功能后触发我自己的
nextSlide
和功能previousSlide
slideTo()
使用幻灯片 API手动更改当前选定的幻灯片和指针位置- 自动知道页面加载后的第一张可见幻灯片是项目总数(3 到 n)除以 2,四舍五入
这是我所拥有的:
var currentSlide = slide.current;
var lastSlide = 'undefined';
function nextSlide(){
currentSlide = slide.current;
if(lastSlide == 'undefined'){
lastSlide = currentSlide - 1;
} else if (lastSlide == 0) {
lastSlide = currentSlide;
} else{
lastSlide = lastSlide + 1;
}
if (lastSlide == currentSlide) {
slide.activate(0);
}
}
function previousSlide(){
currentSlide = slide.current;
if(lastSlide == 'undefined'){
lastSlide = currentSlide + 1;
} else if (lastSlide == slide.items.length - 1) {
lastSlide = currentSlide;
} else{
lastSlide = lastSlide - 1;
}
if (lastSlide == currentSlide) {
slide.activate(sly.items.length - 1);
}
}
当您混合previousSlide
呼叫和nextSlide
呼叫时,这会失败。lastSlide
变量变得不正确。