Foros del Web » Programando para Internet » Jquery »

[SOLUCIONADO] ¿Cómo pasar este efecto de un DIV a un INPUT?

Estas en el tema de ¿Cómo pasar este efecto de un DIV a un INPUT? en el foro de Jquery en Foros del Web. Hola amigos! Quisiera saber si alguien que sepa JavaScript podría ayudarme a pasar un efecto que funciona en un <div>... Este es un efecto de ...
  #1 (permalink)  
Antiguo 05/04/2015, 12:41
 
Fecha de Ingreso: octubre-2008
Mensajes: 147
Antigüedad: 15 años, 6 meses
Puntos: 3
Pregunta ¿Cómo pasar este efecto de un DIV a un INPUT?

Hola amigos!

Quisiera saber si alguien que sepa JavaScript podría ayudarme a pasar un efecto que funciona en un <div>...

Este es un efecto de texto que simula que está escribiendo, está en javascrip y en jquery, actualmente lo hace en un DIV pero me gustaría que lo haga en un INPUT TEXT y que al escribir me mande una alerta de javascript que diga "Ya terminé" ( alert('ya terminé'); )...

Código HTML:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />


<script src="js/jquery.js" type="text/javascript"></script>
<script language="JavaScript">


 $(document).ready(function (){
  textEscribe("ESTE ES UN MENSAJE QUE SIMULA ESCRIBIR", '#contenedor', 50);
 });
 
 function textLista()
 {
   max = textLista.arguments.length;
   for (i = 0; i < max; i++)
  this[i] = textLista.arguments[i];
 }
 
 function textEscribe(txt, selector, time)
 {
  $(selector).empty();
  var x = 0; pos = 0;
  var tl = new textLista
    ( 
     txt
    );
  var l = tl[0].length;
  textInterval(selector, tl, l, x, pos, time);
 }
 
 function textInterval(selector, tl, l, x, pos, time)
  { 
   var intervalo =
   setInterval(function() {
   $(selector).html(tl[x].substring(0,pos));
   if(pos++ == l) 
    clearInterval(intervalo);
   }, time);
  }
  
</script>


<title>Untitled Document</title>
</head>


<body>
<div id="contenedor" /></div>
<input type="text" name="EscribirAqui" id="EscribirAqui" />
</body>
</html> 
Ojalá alguien pudiera ayudarme por favor

Gracias de antemano
  #2 (permalink)  
Antiguo 05/04/2015, 14:22
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 5 meses
Puntos: 977
Respuesta: ¿Cómo pasar este efecto de un DIV a un INPUT?

En lugar de pasarle a la función el id del <div>, pásale el del <input> y en lugar de usar el método .html() para asignarle el valor, usa el método .val().

Saludos
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand
  #3 (permalink)  
Antiguo 05/04/2015, 18:10
Avatar de fede5426  
Fecha de Ingreso: diciembre-2014
Ubicación: Córdoba
Mensajes: 446
Antigüedad: 9 años, 4 meses
Puntos: 208
Respuesta: ¿Cómo pasar este efecto de un DIV a un INPUT?

Tal y como dijo Alexis88. Te dejo el código modificado:

Código Javascript:
Ver original
  1. $(document).ready(function (){
  2.   textEscribe("ESTE ES UN MENSAJE QUE SIMULA ESCRIBIR", '#EscribirAqui', 50);  /*cambias el id del div por el id del input*/
  3.  });
  4.  
  5.  function textLista()
  6.  {
  7.    max = textLista.arguments.length;
  8.    for (i = 0; i < max; i++)
  9.   this[i] = textLista.arguments[i];
  10.  }
  11.  
  12.  function textEscribe(txt, selector, time)
  13.  {
  14.   $(selector).empty();
  15.   var x = 0; pos = 0;
  16.   var tl = new textLista
  17.     (
  18.      txt
  19.     );
  20.   var l = tl[0].length;
  21.   textInterval(selector, tl, l, x, pos, time);
  22.  }
  23.  
  24.  function textInterval(selector, tl, l, x, pos, time)
  25.   {
  26.    var intervalo =
  27.    setInterval(function() {
  28.    $(selector).val(tl[x].substring(0,pos)); /*cambias html por val*/
  29.    if(pos++ == l)
  30.     clearInterval(intervalo);
  31.    }, time);
  32.   }

Saludos
  #4 (permalink)  
Antiguo 05/04/2015, 20:54
 
Fecha de Ingreso: octubre-2008
Mensajes: 147
Antigüedad: 15 años, 6 meses
Puntos: 3
Respuesta: ¿Cómo pasar este efecto de un DIV a un INPUT?

Gracias por sus respuesta, me han ayudado mucho, poco a poco estoy aprendiendo del formato cuando son cosas en JQuery.

Etiquetas: efecto, funcion, html, input, javascript, js, select
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 20:06.