Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

272
Vistas
How to keep a random occurring botton inside the body(Or inside any div)

I Made a button using html, css and js which occurs randomly on the page.But i want the button inside the body tag and it keeps getting out.

HTML CODE:

<!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">
    <script src="main.js" defer></script>
    <link rel="stylesheet" href="style.css">
    <title>SReflex</title>
</head>
<body>
    <button class="random">1 </button>
    
    
</body>
</html>

CSS CODE:

*{
    margin:0%;
    padding:0%;
}

body{
    height: 100vh;
    width: 100vw;
    position: fixed;

}

button.random {

    /* looks of the button */
    height: 3rem;
    width: 3rem;
    border: black;
    border-style: solid;
    border-radius: 50%;

  
    display:block;
    position:absolute;
}

JS CODE:

let temp= document.querySelector(".random");
temp.addEventListener("click",change);

function change(){
    let posx = Math.floor(Math.random()*1000);
    let posy = Math.floor(Math.random()*1000);
    let posz = Math.floor(Math.random()*1000);
    temp.style.left= posx + "vw";
    temp.style.top= posy+ "vh";
    temp.style.right= posz+ "vw";
}

How do i make the button to not go off screen, i want the page to not include the scroll bar.

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Here is an easy way to do so, it works for the body or for a containing div because it's related to parent size. check out the snippet.

let temp= document.querySelector(".random");
temp.addEventListener("click",change);
let maxw = temp.parentElement.clientWidth - 50;
let maxh = temp.parentElement.clientHeight - 50;
function change(){
    let posx = Math.floor(Math.random() * (maxw));
    let posy = Math.floor(Math.random() * (maxh))
    temp.style.left= posx + "px";
    temp.style.top= posy+ "px";
}
*{
    margin:0%;
    padding:0%;
}

body{
    height: 100vh;
    width: 100vw;
    position: fixed;

}

button.random {

    /* looks of the button */
    height: 3rem;
    width: 3rem;
    border: black;
    border-style: solid;
    border-radius: 50%;

  
    display:block;
    position:absolute;
}
<!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">
    <script src="main.js" defer></script>
    <link rel="stylesheet" href="style.css">
    <title>SReflex</title>
</head>
<body>
    <button class="random">1 </button>
    
    
</body>
</html>

the -50 is to make sure it doesn't cross the edges, you can edit that to suit your needs.

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda