【JS】随着进度条进展,逐个显示li节点
如下代码创建了一个水平进度条,随着水平进度条的发展,逐个显示table中的每个li元素,显示顺序由li元素的order属性控制。
代码如下,就不多解释了,懂得都懂。
<!DOCTYPE html> <html lang="utf-8"> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> <head> <title>创建动态链接的三种方式</title> <style type="text/css"> </style> </head> <body> <div id="progressBar" style="width:0%;height:2px;background-color:teal;"> </div> <table> <tbody id="mytable"> <tr> <td valign="top"> <ul> <li order="1" style="display:none;">FileName</li> </ul> </td> <td valign="top"> <ul> <li order="2" style="display:none;">GroupName</li> </ul> </td> <td valign="top"> <ul> <li order="3" style="display:none;">Vname1</li> <li order="4" style="display:none;">Vname2</li> <li order="5" style="display:none;">Vname3</li> <li order="6" style="display:none;">Vname4</li> <li order="7" style="display:none;">Vname5</li> <li order="8" style="display:none;">Vname6</li> </ul> </td> </tr> </tbody> </table> </body> </html> <script type="text/javascript"> <!-- var liArray=findLiElms(); var count=0; var handler=setInterval(autoSubmit,100); function autoSubmit(){ count++; for(var i=0;i<liArray.length;i++){ var obj=liArray[i]; if(count>obj.percent){ obj.elm.style.display="block"; } } if(count>100){ clearInterval(handler); }else{ var progressBar=document.getElementById("progressBar"); progressBar.style.width=count+"%"; } } function findLiElms(){ var table=document.getElementById("mytable"); var lis=table.getElementsByTagName("li"); var arr=[]; for(var i=0;i<lis.length;i++){ var li=lis[i]; var obj={elm:li,order:li.getAttribute("order"),percent:0}; if(li.hasAttribute("order")){ arr.push(obj) } } var comparer=function(a,b){ return a.order-b.order; } arr.sort(comparer); for(var i=0;i<arr.length;i++){ var elm=arr[i]; elm.percent=parseInt(Math.ceil(100*i/arr.length)); } return arr; } //--> </script>
END
分类:
Web.JavaScript
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)
2019-12-12 转载:Java对Base64处理的细节
2019-12-12 转载:Base64编解码介绍
2013-12-12 【高中数学/指数函数、值域】求函数y=2^x/(2^x+1)的值域?
2013-12-12 【Java/csv】一个CSV文件解析类(转载)