Foros del Web » Programando para Internet » Javascript »

Dos Ayudas!

Estas en el tema de Dos Ayudas! en el foro de Javascript en Foros del Web. Hola chicos, estoy haciendo dos funciones, la primera es para que en un input se ponga un color por unos segundos y vuelva, yo lo ...
  #1 (permalink)  
Antiguo 27/08/2009, 08:03
Avatar de Breaklo  
Fecha de Ingreso: junio-2008
Ubicación: Buenos Aires
Mensajes: 95
Antigüedad: 15 años, 10 meses
Puntos: 1
Dos Ayudas!

Hola chicos, estoy haciendo dos funciones, la primera es para que en un input se ponga un color por unos segundos y vuelva, yo lo hise asi:

Código javascript:
Ver original
  1. function color(este){
  2.     este.style.background = "red";
  3.     setTimeout("color2("+este+")",250);
  4. }
  5.  
  6. function color2(a){
  7.     a.style.background = "white";
  8. }

y se aplica así:

<input type="text" onClick="color(this)">

pero el problema es que cuando aplico la 2º function con el setTimeout, no puedo pasar el valor "este", que seria declarado como this.

Si me pueden ayudar mejor :D


------------


La segunda: quiero hacer una function que vos le das el valor del id, y busca todos los elementos que hay y los alerta.

Código javascript:
Ver original
  1. function Datos(id){
  2.     main = document.getElementById(id);
  3.     elementos = main.getElementsByTagName("*");
  4.     for(i=0;i<elementos.length;i++){
  5.         alert(elementos[i]);
  6.     }
  7. }

el problema es que nose como hacer para que me diga si es un A, INPUT, DIV, H1..

gracias por su ayuda
  #2 (permalink)  
Antiguo 27/08/2009, 09:24
Avatar de goyo_  
Fecha de Ingreso: agosto-2009
Mensajes: 91
Antigüedad: 14 años, 8 meses
Puntos: 1
Respuesta: Dos Ayudas!

Tu primer problema lo resolvi de la siguiente forma:

Código PHP:
<body>

<
input id="foo">

<
script>
function 
color() {
    var 
that this;
    
    
that.style.background 'red';
    
setTimeout(function() {that.style.background 'white'}, 250);
}

document.getElementById('foo').onclick color;
</script>

</body> 
  #3 (permalink)  
Antiguo 27/08/2009, 09:36
Avatar de goyo_  
Fecha de Ingreso: agosto-2009
Mensajes: 91
Antigüedad: 14 años, 8 meses
Puntos: 1
Respuesta: Dos Ayudas!

Y para solventar tu segundo problema, escribi esto:

Código PHP:
<body>

<
div id="test"><p><b></b><i></i><span></span></p></div>

<
script>
function 
alertarHijos(id) {
    var 
hijos document.getElementById(id).getElementsByTagName('*'),
        
cantidad hijos.length;
        
    while (
cantidad--) {
        
alert('<' hijos[cantidad].nodeName.toLowerCase() + '>');    
    }
}

alertarHijos('test');
</script>

</body> 
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 15:42.