Advertisement
Guest User

Untitled

a guest
Oct 20th, 2019
97
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. <html>
  2.  
  3. <head>
  4.     <style>
  5.         .doPrzenoszenia {
  6.             font-size: 50px;
  7.         }
  8.  
  9.         #e1 {
  10.             width: 100px;
  11.             height: 100px;
  12.             background-color: green;
  13.             position: fixed;
  14.         }
  15.  
  16.         #e2 {
  17.             width: 100px;
  18.             height: 100px;
  19.             background-color: red;
  20.             position: fixed;
  21.             top: 150px;
  22.  
  23.         }
  24.  
  25.         .pudelko {
  26.             margin-left: 150px;
  27.             margin-top: 20px;
  28.             width: 244px;
  29.             height: 240px;
  30.             border: 1px solid black;
  31.             float: left;
  32.  
  33.         }
  34.  
  35.         .pudelkoMale {
  36.             width: 100px;
  37.             height: 100px;
  38.             margin: 10px;
  39.             border: 1px solid #bbb;
  40.             float: left;
  41.  
  42.  
  43.  
  44.         }
  45.  
  46.         .suma {
  47.             margin: 10px 0 0 10px;
  48.             width: 220px;
  49.             height: 100px;
  50.             border: 1px solid gray;
  51.             font-size: 70px;
  52.         }
  53.  
  54.     </style>
  55. </head>
  56.  
  57. <body>
  58.     <div class="doPrzenoszenia" value="1" id="e1">1</div>
  59.     <div class="doPrzenoszenia" value="2" id="e2">2</div>
  60.  
  61.     <div class="pudelko" id="p1">
  62.         <div class="suma" id="suma1"></div>
  63.         <div class="pudelkoMale" id="pm1" pudelko="1" value="0"></div>
  64.         <div class="pudelkoMale" id="pm2" pudelko="1" value="0"></div>
  65.     </div>
  66.     <div class="pudelko" id="p2">
  67.         <div class="suma" id="suma2"></div>
  68.         <div class="pudelkoMale" id="pm3" pudelko="2" value="0"></div>
  69.         <div class="pudelkoMale" id="pm4" pudelko="2" value="0"></div>
  70.     </div>
  71.     <script>
  72.         var czyPodniesione = false;
  73.         var podniesiony; //Podniesiony element
  74.         var doPrzenoszenia = document.getElementsByClassName("doPrzenoszenia"); //klasa divów do przenoszenia
  75.         var pudelko = document.getElementsByClassName("pudelkoMale"); //klasa małych pudełek
  76.         var suma = []; //suma małych pudełek w poszczególnych dużych pudełkach
  77.  
  78.         function dragStart(e) {
  79.             czyPodniesione = true;
  80.             podniesiony = document.getElementById(this.getAttribute("id"));
  81.            
  82.            
  83.             //Zmienianie Value małego pudełka w przypadku kiedy weźmiemy element, który się w nim znajduje
  84.             for (var i = 0; i < pudelko.length; i++) {
  85.                 var px = pudelko[i].offsetLeft;
  86.                 var py = pudelko[i].offsetTop;
  87.                 var pw = pudelko[i].clientWidth;
  88.                 var ph = pudelko[i].clientHeight;
  89.                 var ktore_pudelko = pudelko[i].getAttribute("pudelko");
  90.                 if (e.clientX > px && e.clientX < px + pw &&
  91.                     e.clientY > py && e.clientY < py + ph &&
  92.                     pudelko[i].getAttribute("value")==this.getAttribute("value")) {
  93.                     pudelko[i].setAttribute("value", 0);
  94.                     break;
  95.                 }
  96.  
  97.             }
  98.  
  99.         }
  100.  
  101.         function drag(e) {
  102.             if (czyPodniesione) {
  103.                 podniesiony.style.position = "fixed";
  104.                 podniesiony.style.left = e.clientX + "px";
  105.                 podniesiony.style.top = e.clientY + "px";
  106.  
  107.             }
  108.         }
  109.  
  110.         function dragStop(e) {
  111.             if (czyPodniesione) {
  112.                 for (var i = 0; i < pudelko.length; i++) {
  113.                     var px = pudelko[i].offsetLeft;
  114.                     var py = pudelko[i].offsetTop;
  115.                     var pw = pudelko[i].clientWidth;
  116.                     var ph = pudelko[i].clientHeight;
  117.                     var ktore_pudelko = pudelko[i].getAttribute("pudelko");
  118.                     if (e.clientX > px && e.clientX < px + pw &&
  119.                         e.clientY > py && e.clientY < py + ph &&
  120.                         pudelko[i].getAttribute("value") == 0) {
  121.                         podniesiony.style.left = px + "px";
  122.                         podniesiony.style.top = py + "px";
  123.                         pudelko[i].setAttribute("value", this.getAttribute("value")); //Zmienianie value małego pudełka na value przenoszonego diva
  124.                         break;
  125.                     }
  126.  
  127.                 }
  128.  
  129.                
  130.                 //Zmienianie sumy każdego pudełka na 0
  131.                 for (var i = 0; i < pudelko.length; i++) {
  132.                     var ktore_pudelko = pudelko[i].getAttribute("pudelko");
  133.                     suma[ktore_pudelko] = 0;
  134.                 }
  135.                
  136.                 for (var i = 0; i < pudelko.length; i++) {
  137.                     var ktore_pudelko = pudelko[i].getAttribute("pudelko");
  138.                     suma[ktore_pudelko] += parseInt(pudelko[i].getAttribute("value"));
  139.                     document.getElementById("suma" + ktore_pudelko).innerHTML = suma[ktore_pudelko];
  140.                 }
  141.                 czyPodniesione = false;
  142.                 podniesiony = "";
  143.             }
  144.         }
  145.  
  146.         for (var i = 0; i < doPrzenoszenia.length; i++) {
  147.             doPrzenoszenia[i].addEventListener("mousedown", dragStart);
  148.             doPrzenoszenia[i].addEventListener("mouseup", dragStop);
  149.         }
  150.         document.addEventListener("mousemove", drag);
  151.  
  152.     </script>
  153. </body>
  154.  
  155. </html>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement