• javascript 分时函数 分批次添加DOM节点 timeChunk


    创建1000个webqq的qq好友列表, 一个好友用一个节点来表示

    * timeChunk

    var timeChunk = function(a, fn, sz, done) {
        var obj, t, len = a.length;
        var start = function() {
            for (var i = 0; i < Math.min(sz || 1, a.length); i++) {
                var obj = a.shift();
                fn.call(this, obj);
            }
        }
        return function() {
            t = setInterval(function() {
                // 如果全部节点都已经被创建好
                if (a.length === 0) {
                	var i = clearInterval(t)
                   	typeof done === "function" && done.call(this);
                   	return i;
                }
                start();
            }, 200);
        }
    }
    
    /**
     * Pad a string to a certain length with another string
     */
    function str_pad(input, pad_length, pad_string) {
        var i = String.valueOf()(input);
        var n = pad_length - i.length;
        if (n <= 0)
            return i;
        var s = pad_string || "0";
        while (n--) {
            i = s + i;
        }
        return i;
    }
    
    // test
    var ary = [];
    for (var i = 1; i <= 1000; i++) {
        ary.push(i);
    }
    
    // 每次加载8个
    var renderFriendsList = timeChunk(ary, function(n) {
        var div = document.createElement("div");
        div.innerHTML = "Friend-" + str_pad(n, 4);
        document.body.appendChild(div);
    }, 8, function() {
    	var hint = document.createElement("p");
        hint.innerHTML = "好友列表加载完了";
        document.body.insertBefore(hint, document.body.querySelector("script"));
    });
    
    renderFriendsList();
    

      

      

    Run:

  • 相关阅读:
    1、求loss:tf.reduce_mean(tf.nn.softmax_cross_entropy_with_logits(logits, labels, name=None))
    创建目录
    Sqli-Labs less8-10
    Sqli-Labs less-7
    Sqli-Labs less 5-6
    Sqli-Labs less1-4
    DVWA-全等级SQL注入(显注)
    ACL的配置
    NAT配置
    OSPF和ACL综合实验
  • 原文地址:https://www.cnblogs.com/mingzhanghui/p/9408465.html
Copyright © 2020-2023  润新知