Foros del Web » Programando para Internet » Jquery »

modo raro en funcion con jquery

Estas en el tema de modo raro en funcion con jquery en el foro de Jquery en Foros del Web. Hola genios. Quisiera saber si alguno le paso esto porque la verdad no entiendo el problema. Supongamos que tenemos una funcion: Código PHP: function  mostrar ...
  #1 (permalink)  
Antiguo 25/05/2013, 15:25
 
Fecha de Ingreso: mayo-2008
Mensajes: 224
Antigüedad: 16 años, 7 meses
Puntos: 4
modo raro en funcion con jquery

Hola genios.

Quisiera saber si alguno le paso esto porque la verdad no entiendo el problema.

Supongamos que tenemos una funcion:

Código PHP:
function mostrar(valor){
if (
valor==0){
$(
'#cuadro').fadeIn("slow");
}else{
$(
'#cuadro').css("display","none");
otrafuncion(valor);

Bien hasta aca algo simple, si el valor es diferente a 0 oculta el cuadro y ejecuta una segunda funcion
Ahora el problema que tengo es el siguiente.
Si el valor es 1, osea tendria que ocultar el cuadro y ejecutar la segunda funcion, bien, lo que hace es ejecutar la segunda funcion sin ocultar el cuadro, osea, pasa por alto el css pero no la segunda funcion.

Aca viene lo loco, si pongo lo siguiente:
Código PHP:
function mostrar(valor){
if (
valor==0){
$(
'#cuadro').fadeIn("slow");
}else{
alert(valor);
$(
'#cuadro').css("display","none");
otrafuncion(valor);

me muestra el valor en un alert y ahi si oculta el cuadro y por supuesto ejecuta la segunda funcion.
No logro entender porque pasa por alto el css cuando no solicito ningun alert.

Alguna idea???? probe de todo, busque duplicados de id, verifique que la lectura de las variables sea correctas ya no se que mas puedo hacer
  #2 (permalink)  
Antiguo 25/05/2013, 18:02
Avatar de alberto510a  
Fecha de Ingreso: abril-2013
Mensajes: 351
Antigüedad: 11 años, 7 meses
Puntos: 35
Te falta una llave para cerrar la función según has puesto en tú código la tenías?
  #3 (permalink)  
Antiguo 25/05/2013, 18:48
 
Fecha de Ingreso: mayo-2008
Mensajes: 224
Antigüedad: 16 años, 7 meses
Puntos: 4
Respuesta: modo raro en funcion con jquery

Hola alberto!!

Si, el corchete esta cerrado bien, en el texto de ejemplo lo puse mal igual viste con es, si te falta cerrar un cochete, parentesis o punto se queda colgada la funcion.

Por eso no entiendo que puede ser, porque cuando pido informacion con alert, oculta el div, pero si no pido informacion pasa de largo.

Lo escribo de nuevo bien

Asi el css pasa de largo y no realiza el cambio pero si ejecuta la segunda funcion
Código PHP:
function mostrar(valor){
   if (
valor==0){
       $(
'#cuadro').fadeIn("slow"); 
   }else{
       $(
'#cuadro').css("display","none");
       
otrafuncion(valor);
   }  

Asi el css se ejecuta correctamente y tambien ejecuta la segunda funcion
Código PHP:
 function mostrar(valor){
   if (
valor==0){
       $(
'#cuadro').fadeIn("slow"); 
   }else{
       
alert(valor);
       $(
'#cuadro').css("display","none");
       
otrafuncion(valor);
   }  

La verda, no entiendo
  #4 (permalink)  
Antiguo 26/05/2013, 02:02
Avatar de alberto510a  
Fecha de Ingreso: abril-2013
Mensajes: 351
Antigüedad: 11 años, 7 meses
Puntos: 35
De dónde te viene el parámetro valor? Ponme todo tu código por favor.
  #5 (permalink)  
Antiguo 26/05/2013, 06:17
 
Fecha de Ingreso: mayo-2008
Mensajes: 224
Antigüedad: 16 años, 7 meses
Puntos: 4
Respuesta: modo raro en funcion con jquery

Hola!!

Aca te pongo la funcion completa y te agrego datos de cada cosa

Código PHP:
function cambio(esc,estado){
            if(
estado==0){
            $(
'#preEsc').css("display","none");    //oculta una imagen precarga
            
$('#infoEscuelas').css("color","#FF0000"); // modifica css del div
            
$('#infoEscuelas').html("En espera de Aprobacion"); // agrego datos al div
            
$('#infoEscuelas').fadeIn("slow"); // muestro el div
            
}else if(estado==1){
            
alert(estado);    
            $(
'#preEsc').css("display","none");     //oculta una imagen precarga    
            
$('#infoEscuelas').css("color","#006600");      // modifica css del div
            
$('#infoEscuelas').html("Aprobada  Activa");    // agrego datos al div
            
$('#infoEscuelas').fadeIn("slow"); // muestro el div

                
buscSinConf(esc); // ejecuto funcion
                
alConfir(esc); // ejecuto funcion    
            
}

Paso a contarte.
esc y estado vienen de una devolucion de ajax, sin problemas.
El if de los valores los lee correctamente porque en el caso de estado==1 las segundas funciones se ejecutan correctamente, que si no leyera bien los if, no se ejecutarian.
Probe de poner elseif para obligar a valorizar la variable y ver si funciona bien. Funciona bien porque te repito ejecuta las funciones adicionales.
Incluso pase el valor de estado a parseInt para probar y tambien todo bien.
Llegue a la conclusion que el problema no esta ni en la estructura de la funcion ni en el valor de la variable.
Verifique en la pagina php si tenia divs duplicados y no, todo bien.
Esta funcion esta fuera del php en un js. Tiene muchisimas funciones y todas andan al pelo menos esta, que varia. A veces hace lo que dice y a veces no.
Por eso no entiendo que pasa. Tengo entendido que las funciones andan o no, asi de simple, no son ambiguas.
Sabes que estoy pensando mientras te escribo? que lo que me queda como opcion es creer que puede haber un error en las estructuras de los divs. La funcion la dejo igual pero voy a reestructurar los divs a ver que pasa y te cuento.
  #6 (permalink)  
Antiguo 26/05/2013, 12:32
Avatar de alberto510a  
Fecha de Ingreso: abril-2013
Mensajes: 351
Antigüedad: 11 años, 7 meses
Puntos: 35
A ver mucho no se me ocurre de que puede ser pero prueba estas cosas:

if(estado==1) esto quitalo y deja simplemente else

Los comentarios asegúrate de que son de una sola línea y no estas pasando texto a la siguiente

La función te digo de nuevo que no se te olvide cerrarla

Usa console.log() para ganar mayor información sobre tu problema

Y bueno cuéntame cuando hagas todo esto haber que tal.

Saludos!
  #7 (permalink)  
Antiguo 01/06/2013, 17:22
 
Fecha de Ingreso: mayo-2008
Mensajes: 224
Antigüedad: 16 años, 7 meses
Puntos: 4
Respuesta: modo raro en funcion con jquery

Hola!!!

Gracias por tu consejo con el console.log, pude solucionar un monton de cositas, no pense que era tan bueno !!!.

Si, tenia varias pequeñeses y ademas llamaba a esa funcion dos veces. eso me pasa por apurada jajaja.

Ya que estoy en esto te hago otra pregunta.
Tengo una pagina llamada por ejemplo consultas.php. En esa pagina tengo algo de 20 consultas que se ejecutan dependiendo una variable enviada por post.

Decime, que te parece que es mejor, para el servidor en cuanto a respuesta y saturacion, una pagina con todas las consultas o una consulta por pagina?

Yo solicito las consultas por medio de post y ajax, funcionan barbaro, pero me da la sensacion que demora mucho en la respuesta, esto lo vi con el firbug, de ahi mi duda
  #8 (permalink)  
Antiguo 02/06/2013, 02:40
Avatar de alberto510a  
Fecha de Ingreso: abril-2013
Mensajes: 351
Antigüedad: 11 años, 7 meses
Puntos: 35
Si sólo se ejecuta 1 no debe importar que haya muchas supongo ya que las demás las ignora.

Saludos!:)

Etiquetas: funcion, modo, raro
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:28.