mardi 6 juillet 2021

I want to know the meaning of the code of javascript that Related to the command to position div

I want to know the meaning of the code below. This code below is a button that commands the button to position div randomly. However, I want to set all divs to be visible on the screen so that divs cannot go out of the screen.

I ask what numbers point to in this code and how to modify which part so that div can be seen all over the screen. Especially, I am curious about the meaning of this part of javascript in the body.

const btn = document.querySelector("button");
const height = document.documentElement.clientHeight;
const width = document.documentElement.clientWidth;
const boxes = document.querySelectorAll(".random");

btn.addEventListener("click", () => {
  Array.from(boxes).forEach(box => {
    const top = Math.floor(Math.random() * (height - 30) + 1) + "px";
    const right = Math.floor(Math.random() * (width - 30) + 1) + "px";

    box.style.top = top;
    box.style.right = right;
  })
});

Thank you in advance for your reply. :)

<!DOCTYPE html>
<html>
    <head>
    <meta charset="UTF-8">

    
    <style type="text/css">
    
    body {margin:0; padding:0;}
    button {position: relative; width: 30px; height: 30px; background: #edd6bc; border: none;}
    .random {position: absolute; width: 30px; height: 30px; cursor: move;}

    </style>

<!--change z-index-->
  <script type="text/javascript" src="http://code.jquery.com/jquery-1.5.2.js"></script>
  
  <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.9/jquery-ui.js"></script>

  <script type="text/javascript">
  $(window).load(function(){
  $(document).ready(function() {
    var a = 3;
    $('.random').draggable({
   start: function(event, ui) { $(this).css("z-index", a++); }
});
  $('body div').click(function() {
        $(this).addClass('top').removeClass('bottom');
        $(this).siblings().removeClass('top').addClass('bottom');
        $(this).css("z-index", a++);

    });
});
});
</script>

</head>


<body >

    <button onclick="showhide()" value="Zeige Features" id="button"></button>

    <div style="display: none; background: #6d97b4;" class="random" ></div>
    
    <div style="display: none; background: #c9656f;" class="random" ></div>
    
    <div style="display: none; background: #f1eb40;" class="random" ></div>
    
    <div style="display: none; background: #00825c;" class="random" ></div>
    
    <div style="display: none; background: #009ce0;" class="random" ></div>
    
    <div style="display: none; background: #cee4a6;" class="random" ></div>



<script type="text/javascript">

const btn = document.querySelector("button");
const height = document.documentElement.clientHeight;
const width = document.documentElement.clientWidth;
const boxes = document.querySelectorAll(".random");

btn.addEventListener("click", () => {
  Array.from(boxes).forEach(box => {
    const top = Math.floor(Math.random() * (height - 30) + 1) + "px";
    const right = Math.floor(Math.random() * (width - 30) + 1) + "px";

    box.style.top = top;
    box.style.right = right;
  })
});

function showhide() {
  var x = document.querySelectorAll(".random");
  var i;
  for (i = 0; i < x.length; i++) {
    if (x[i].style.display === "block") {
      x[i].style.display = "none";
    } else {
      x[i].style.display =
        "block";
    }
  }
}

//draggable

function mouseDown(downEvent) {
  var box = downEvent.srcElement;
  var offX = box.getBoundingClientRect().left - downEvent.x;
  var offY = box.getBoundingClientRect().top - downEvent.y;
  document.onmousemove = e => {
    box.style.top = Math.min(Math.max(e.y + offY, 0), height) + "px";
    box.style.left = Math.min(Math.max(e.x + offX, 0), width) + "px";
  }
  document.onmouseup = e => {
    document.onmousemove = document.onmouseup = null;
  }
  return false;
}

Array.from(boxes).forEach(box => {
  box.onmousedown = mouseDown;
})

</script>

</body>
</html>



Aucun commentaire:

Enregistrer un commentaire