Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

214
Views
JavaScript cambia la posición del elemento al presionar el botón del teclado

Así que quiero cambiar la posición del elemento en 100 al presionar el botón del teclado.
Mi código:

 document.addEventListener("keypress", (event) => { var keyName = event.key; if (keyName == "s") { console.log(keyName); document.getElementById("element").style.top + 100; }; }, false);
 <div id="element">•</div>

Y lo único que hace el código es enviar un registro a la consola sobre la tecla presionada.

EDITAR: la posición del elemento ya es Absoluta

 position: absolute;
about 4 years ago · Juan Pablo Isaza
2 answers
Answer question

0

Para lograr lo que está intentando, debe hacer lo siguiente:

  1. Su elemento debe ser position: absolute o position: relative
  2. la style.top es un setter , por lo que debe establecer su valor como style.top = '100px'
  3. el valor superior es una cadena para agregar 100 en la parte superior, debe analizarlo en una cadena y luego agregar nuevamente el 'px' al final de la cadena

 document.addEventListener("keypress", (event) => { const elementToMove = document.getElementById("element"); var keyName = event.key; if (keyName == "s") { elementToMove.style.top = (parseInt(elementToMove.style.top || 0) + 100)+'px'; }; }, false);
 <div id="element" style="position: absolute;">•</div>

about 4 years ago · Juan Pablo Isaza Report

0

La propiedad CSS superior participa en la especificación de la posición vertical de un elemento posicionado. No tiene efecto sobre elementos no posicionados. Asegúrese de que su elemento esté posicionado (absoluto, relativo, fijo, estático, etc.).

Tu código tiene errores aquí: document.getElementById("element").style.top + 100; debería haber una asignación al elemento (+100) no funcionará.

si desea agregar un margen, haga lo siguiente: document.getElementById("element").style.marginTop = "100px";

about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!