zoukankan      html  css  js  c++  java
  • 【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="0%;height:2px;background-color:teal;">&nbsp;</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

  • 相关阅读:
    USACO 1.3 warmhole
    hadoop本地库与系统版本不一致引起的错误解决方法
    hadoop安装遇到的各种异常及解决办法
    Hadoop学习笔记【分布式文件系统学习笔记】
    Hadoop学习笔记【Hadoop家族成员概述】
    Ext2.x学习笔记
    Memcached学习笔记
    关于反向生成url
    python 练习题- 图书租金计算
    python 练习题- letcode 168. Excel表列名称
  • 原文地址:https://www.cnblogs.com/heyang78/p/15678398.html
Copyright © 2011-2022 走看看