[ Foro de Javascript ]

problema con modificación de variable global desde función

27-Jan-2021 05:41
Invitado (adrian)
0 Respuestas

En esta ocasión vengo por un error bastante simple que me ocurrió, pero que me ha dejado pensativo. Sucede que tengo una variable normal declarada de forma global, obviamente fuera de la función, y la misma al darle clic a un elemento de mi menú, debe aumentar en 1 su valor. esto la verdad ya lo había hecho antes y la verdad no suponía un problema, pero al repetirlo con esta variable, simplemente no quiere funcionar

html

<div class=buscador>
    <input type="text" value="nombre" id="texto1" class=texto1>
     <input type="button" value="buscar" onclick="buscar()" class= "boton1">
 </div>
javascript

i2=0;
function buscar(){
   //buscador de texto
   //let texto=document.getElementById("texto1").value;
   // Obtener solo elementos en contenedor original
   //let texto2=b.getElementsByClassName(texto);

   //b.style.display="none";
   //bb.style.display="block";
   // Limpia el contenedor, no hay problema
   //bb.innerHTML="";

i2=i2+1; //ya intenté con i2++, i2=+1;

   // Limitas el for con la cantidad de elementos obtenidos
   //for(let num=0; num<texto2.length; num++){
       // Inserta una copia, en lugar del original
       //bb.appendChild(texto2[num].cloneNode(true));
   }

}

if(i2<0){

 c.style.display="none"; //i2 se queda en 0 y sigue ejecutando esta parte
}
Ahora, apliqué eso mismo con el siguiente código y funciona:

html

<div value="a" class="a2" id="a2"><input type="button" value="Menu" onclick="menu2()" class= "menu2">
</div>  
javascript

i=0;
function menu2 (){
//infoc.style.display="none";
 //c.style.display="inherit";
  //a2.style.display="none";

i=i+1;
}

if(i==1){
   //a2.style.display="none";
    //b.setAttribute("style","margin-top:10px;"); //este si funciona
 }
la verdad es algo muy básico pero es que no encuentro diferencia alguna entre ambos códigos; he modificado variables de esta forma antes y ya intentado devolviendo su valor, cambiando el nombre, los símbolos de (<>) por (==, =) y nada. Cabe destacar, todo lo demás, funciones... funciona perfectamente Muchas gracias por todo




(No se puede continuar esta discusión porque tiene más de dos meses de antigüedad. Si tienes dudas parecidas, abre un nuevo hilo.)