第八次作业 · 轮播图 2nd
自动播放版轮播图
默认每 4 秒自动换一张;鼠标移入、按住不放,或点右下角的暂停按钮都会停下来。 也可以用标签、箭头、圆点、键盘 ← → 或直接左右滑动切换。
这次的教训:原来箭头是靠 Number(b.substring(b.length - 2, b)) 去反解计算样式里的
left,而计算样式拿到的字符串是带单位的("-800px"),
Number("px") 得到的是 NaN;NaN + 1 还是 NaN,
于是 button[NaN] 是 undefined,undefined.classList 抛
TypeError。更坑的是这个异常发生在 setInterval 的回调里,被静默吞掉了,
表面上只表现为「箭头点了没反应 + 自动播放第一次切换后就停住了」,四个标签却还能用。
现在位置由一个索引变量算出来,回调里也加了 try/catch 兜底,异常不会再默默消失。