代码昨天还好好的,添加div(画面中飞过的方块)后能删除div。但今天就删不了了,会导致占用大量内存。
出现的错误如下
需要准备好jQuery文件
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>流星</title> <script src="js/jQuery-3.4.1.js" type="text/javascript" charset="utf-8"></script> <script type="text/javascript"> $(document).ready(function(){ window.setInterval("fly()",1);//数字为秒生产(1000/10)个div window.setTimeout(function(){ alert("本程序删除div失败了,请处理:line:11,line:36") window.setInterval("del()",1);//数字为每秒执行(1000/9)次删除,每次删一个div。此行数字与9行数字要基本保持一致。因为有时间差(执行代码需要时间),所以一致会导致在漫长的时间后(超级长),占用内存会增很大 },3000);//这个数字需要与26行数字保持一致,表示20000 }); // 生产div function fly(){ // 生成随机id var str = String.fromCharCode(Math.floor(Math.random()*26+65)); var num = Math.floor(Math.random()*10000); var id = str + num; //生成随机宽高 var length = Math.ceil(Math.random()*5); //生成随机速度 var speed = Math.floor(Math.random()*17000+1000); //生成颜色 var color = "#22b6ff" //添加div $("body").append("<div id=‘"+id+"‘></div>"); var x = -30; var y = Math.floor(Math.random()*900); var div = $("#"+id); div[0].setAttribute("style","width:"+length+"px;height:"+length+"px;background-color: "+color+";position: absolute;left:"+x+"px;top:"+y+"px"); div.animate({left:‘1910px‘},speed);//动画时长:移动速度。这个数字需要与12行数字保持一致 } //清除div:原本正常运行现在删除不了了 function del(){ for(var i ; i< 4;i++){ $("body>div").first().remove(); } } </script> <style> body{ background-color: black; color: white; } </style> </head> <body> </body> </html>
原文:https://www.cnblogs.com/Scorpicat/p/12267884.html