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

377
Vistas
¿Cómo muevo el cursor parpadeante a lo largo del texto como si fuera un cursor normal con los 2 botones? Si es posible, es preferible javascript vainilla.

Mi objetivo es hacer que se mueva hacia adelante y hacia atrás con las pulsaciones de los botones como si fuera un cursor real

 <div> hello<span id="hi"></span> </div> <button onclick="move('left')">left</button> <button onclick="move('right')">right</button>

No puedo encontrar la forma de ubicar el lapso en el texto y luego moverlo hacia un lado presionando el botón para que vaya de hola | al infierno con una pulsación a la izquierda

 function move(direction){ switch (direction) { case "left": break; case "right": break; } }

todo el css esta bien

 span { content: ''; width: 3px; height: 17px; background: black; opacity: 0; display: inline-block; animation: blink 0.5s linear infinite alternate; } @keyframes blink { 50% { opacity: 0; } 100% { opacity: 1; } }
about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

La forma en que debe pensar en esto es que su documento es un árbol (como en la estructura de datos) porque así es como lo ve el navegador. Eso significa que la parte con la que está trabajando tiene tres secciones:

 div .....[text] ..... span .....[text] div

Los tres son elementos secundarios de su div principal, por lo que estarán en su colección childNodes . Dos son nodos de texto , el otro es un elemento de intervalo .

El tipo de nodo de text tiene una propiedad textContent , que puede usar para obtener o establecer el texto dentro del nodo. Algo como esto:

 const myDiv = document.getElementsByTagName('div')[0]; // assuming you only have one div, more practical to give your div an id and use document.getElementById("my-id"); myDiv.childNodes[0].textContent = "hello";

Esto parece un poco adyacente a la tarea y ciertamente parece una buena oportunidad para aprender, así que en lugar de escribir el código, tomaré el corte largo. El proceso por el que pasaría en su función es:

  1. Encuentre el div principal; tal vez tener una id lo haría más fácil.
  2. Lee el textContent del texto de su primer hijo.
  3. Lea el textContent del texto de su último hijo.
  4. Si se mueve hacia la izquierda, desea eliminar el último carácter del primer elemento secundario y colocarlo al comienzo del último elemento secundario. Si el primer niño está vacío, no hagas nada.
  5. Si se está moviendo a la derecha, desea eliminar el primer carácter del último elemento secundario y colocarlo en el último carácter del primer elemento secundario. Si el último niño está vacío, no haga nada.

Tenga en cuenta que al hacerlo de esta manera, no estamos haciendo nada con el span , sino que estamos moviendo el texto a su alrededor.

Para un toque extra, podría crear un objeto que mantenga referencias a los nodos de texto en cuestión para que no tenga que recuperarlos cada vez que se hace clic en un botón.

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