代码及注释:
javascript
// TODO:请完善此函数
function rolling() {
time++; // 转动次数加1
let roll = time % 8 == 0 ? 8 : time % 8 //循环取1~8
roll == 1 ? document.querySelector(`.li8`).classList.remove('active') : document.querySelector(`.li${roll-1}`).classList.remove('active') //取消掉前一个元素的active类名
document.querySelector(`.li${roll}`).classList.add('active') //当前元素添加的active类名
clearTimeout(rollTime);
rollTime = setTimeout(() => {
window.requestAnimationFrame(rolling); // 进行递归动画
}, speed);
// time > times 转动停止
if (time > times) {
clearInterval(rollTime);
time = 0;
document.querySelector('#award').innerHTML = document.querySelector(`.li${roll}`).innerHTML // 把当前元素内容放入
return;
}
}
知识点:
1.一个周期的循环数值:对周期取余
2.添加类名:element.classList.add('类名')
3.删除类名:element.classList.remove('类名')
4.获取元素document.querySelector('')