发表于: 2020-01-10 22:32:56

1 1160


今天完成的事

1,使用Jquery的append()方法动态插入hml元素的同时读取json对象值插入文本中;

关键代码:

window.onload = function () {
    var roleStr_s = sessionStorage.getItem("rolestr");
    var roleList_s = JSON.parse(roleStr_s);
    var allRole=Object.keys(roleList_s).length;
    for (var i=0i<allRolei++) {
        var orderroleList_s[i]["order"];
        var identity = roleList_s[i]["role"];
        $(".main-role").append('<div class="role-in"><div class="role-ide"></div><div class="role-order"></div></div>');
        $(".role-ide").eq(i).text(identity);
        $(".role-order").eq(i).text(order);
    }
}

2,状态机的学习; 不过没有统一标准,暂时只能理解概念;

明天计划的事

1,修正任务三中的bug;

2,修正任务二中的不足;

3,按照理清的任务四思路尝试实现出来;

遇到的问题

  对于状态机的使用学习,因为有多种不太统一的教程,没有足够的实例的供以理解,暂时放在后面慢慢理解;

收获

1,数组乱序的实现;

(1)slice + Math.random 实现;

function shuffle(a)

    var b = [];  

    while (a.length) {   

     var index = ~~(Math.random() * a.length); 

     b.push(a[index]);   

     a.splice(index, 1); 

     } 

     return b; 

}

(2)for循环 + Math.random  实现;

       

function shuffle(array) {

    var _array = array.concat(); 

    for (var i = _array.length; i--; ) {

         var j = Math.floor(Math.random() * (i + 1));  

         var temp = _array[i]; 

         _array[i] = _array[j]; 

         _array[j] = temp; 

     }   

    return _array; 

}   

两种实现方法都离不开Math.random的使用,可以看出都是先定义一个可以用来接收乱序的数据的数组,然后取得随机数到数组中取出相应的值给新的数组,随后就得到了乱序数组,实现方法有很多写法,但基本上都按照一定的规律得到一个乱序数组;

2,JQuery动态生成多个相同的html办法以及同时赋给元素想要插入的文本;

     生成时使用了for循环 + append的方法插入多个相同的html;随后如何为对应的元素插入文本时遇到一些困难,后来找到$(selector).eq()的方法可以取到相同类名元素的集合体,但同时还能通过eq(i),里面对应的“ i ”索引值找到相应的元素,这样就可以在生成元素的同时插入文本了;


返回列表 返回列表
评论

    分享到