if (idx == 0) ,老师你的这里等于0是不是当图片是第一张的时候?
来源:6-3 编写跑马灯轮播图特效
好帮手慕斯林
2020-12-03 15:14:25
# 具体遇到的问题
if (idx == 0) ,老师你的这里等于0是不是当图片是第一张的时候?还是没有照片的意思?因为一开始全局变量已经声明 idx = 0了,这里有点懵逼,
# 报错信息的截图
# 相关课程内容截图
# 尝试过的解决思路和结果
# 粘贴全部相关代码,切记添加代码注释(请勿截图)
// 判断是不是第0张,如果是,就要瞬间用假的替换真的
if (idx == 0) {
// 取消掉过渡,因为要的是瞬间移动,不是“咕噜”过去
list.style.transition = 'none';
// 直接瞬间移动到最后的假图片上
list.style.left = -5 * 650 + 'px';
// 设置一个延时器,这个延时器的延时时间可以是0毫秒,虽然是0毫秒,但是可以让我们过渡先是瞬间取消,然后再加上
setTimeout(function() {
// 加过渡
list.style.transition = 'left .5s ease 0s';
// idx改为真正的最后一张
idx = 4;
list.style.left = -idx * 650 + 'px';
}, 0);
在这里输入代码,可通过选择【代码语言】突出显示
1回答
好帮手慕夭夭
2020-12-03
同学你好,没错,idx表示的是索引,idx=0表示的就是索引为0的图片,即第一张图片。一开始声明的idx默认值为0也表示的第一张图片,因为图片轮播默认显示的就是第一张图片。当点击下一张按钮时,idx++为1,就会从第一张图片切换到第二张图片了(第二张图片索引为1)。
祝学习愉快~
相似问题