Frontend/JavaScript

랜덤 조 할당 예제 2

Study 2021. 3. 20. 15:42

 

스터디원 요청으로 랜덤, 이동기능까지 추가하였습니다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        body{margin: 0px}
        .wrapper{
            width: 1000px;
            height: 800px;
            background: chartreuse;
            margin: auto;
            position: relative;
            text-align: center;
        }
        #content{
            width: 1000px;
            height: 700px;
            background: chartreuse;
            position: relative;
        }
    </style>
    <script>
        var ppple
        var menbers=[];
        var membersDiv=[];
        var xArr=[];
        var a=0.1;
        var targetY=200;
 
        function init(){
            ppple=document.getElementById("ppple")
            ppple.value="양석호,유재석,김희철,강호동,이순재,신 구,조매력,정형돈,김국진,윤종신,김종국,블루디,비비,블랙홀";
        }
        function mijin(){
            xArr.sort(function(a, b){return 0.5 - Math.random()});
            setInterval("move()"10);
        }
        function makeMember(){
            members=ppple.value.split(",");
            members.sort(function(a, b){return 0.5 - Math.random()});
            for(var i=0;i<members.length;i++){
                var div=document.createElement("div")
                div.innerText=members[i];
                div.style.position="absolute";
                div.style.left=50+i*65+"px";
                div.style.top=600+"px";
                document.getElementById("content").appendChild(div);
                membersDiv.push(div);
                xArr.push(div.style.left);
            }
        }
        function move(){
            for(var i=0;i<membersDiv.length;i++){
                membersDiv[i].style.left = parseInt(membersDiv[i].style.left)+a*(parseInt(xArr[i]) - parseInt(membersDiv[i].style.left))+"px";
                membersDiv[i].style.top = parseInt(membersDiv[i].style.top)+a*(targetY - parseInt(membersDiv[i].style.top))+"px";
                
            }
        }
        window.addEventListener("load",function(){
            init();
        });
    </script>
</head>
<body>
    <div class="wrapper">
        <div id="content"></div>
        <div id="ansRen"><input type="text" id="ppple"></div>
        <div>
            <button onclick="makeMember()">서밋</button>
            <button onclick="mijin()">이동</button>
        </div>
    </div>
</body>
</html>
cs