想尝试一下用setInterval做弹幕,对发送按钮绑定了下面这段函数,但是每点击一次都会造成之前的setInterval失效。也就是说一个弹幕跑到中途,如果这个时候又发送了新的弹幕就会使得前面的弹幕停下来。难道每次click事件之后不是都注册了一个新的setInterval吗?想不通问题出在哪里,求解惑,十分感谢!function danmuSend(){ var danmuInput = document.getElementsByClassName("danmu-input")[0].value; danmuWrap.innerHTML = "<div class='danmu' style='position:absolute; top:" + Math.floor(Math.random()*390) +"px; right:" + 5 + "px'>" + danmuInput + "</div>" + danmuWrap.innerHTML; var danmu = document.getElementsByClassName("danmu")[0]; var danmuMove = setInterval(function(){ var danmuY = parseInt(danmu.style.right); danmuY += 5; danmuY > 790 && clearInterval(danmuMove); danmu.style.right = danmuY + 'px'; alert(danmuY); },16.7);}
添加回答
举报
0/150
提交
取消