Break;
#1 ·

Buenas a todos:

Tengo un problemilla que seguro sabréis resolver con los ojos cerrados. He de utilizar un break; para interrumpir el flujo de variables pero resulta que eso hace que ni Firefox ni IE me ejecuten ni una sola parte del código. ¿Sabéis como puedo solucionar este problema? Os pongo el código por si se os ocurre alguna solución:

Código:
$("#prev").click( function() {   
     if(x == 1) {      
         $("#destacado1").fadeOut("easeout");      
         $("#destacado0").delay(700).fadeIn("easein");
         x = 0;
         break;
     }     
});    
$("#next").click( function() {
    if(x == 0) {
       $("#destacado0").fadeOut("easeout");
       $("#destacado1").delay(700).fadeIn("easein");
       x = 1;
       break;}    
});
   
$("#prev").click( function() {    
     if(x == 2) {      
         $("#destacado2").fadeOut("easeout");      
         $("#destacado1").delay(700).fadeIn("easein");
         x = 1;
         break;}     
});    
$("#next").click( function() {
     if(x == 1) {      
         $("#destacado1").fadeOut("easeout");      
         $("#destacado2").delay(700).fadeIn("easein");
         x = 2;
         break;}    
});

El código es generado con PHP, y x adquiere hasta el valor 10. El problema esta en que a la hora de hacer click sobre el botón, este continua de if en if de manera que aparece y desaparece todo y necesito el break; para que no lo haga... Se os ocurre algo.

Gracias y un saludo!


Usuario habitual
Usuario habitual
Haz clic para ver el perfil del usuario
Mensajes: 37
Desde: 23/May/2010
·
#2 · ·

Umm, ver la pagina donde se ejecuta el script seria de ayuda, pero mientras tanto, fuera de lo que pides, creo que usas el delay(700) para esperar a que el otro desaparezca y luego si mostrar el nuevo verdad?, si es así te aconsejo que solo hagas un simple callback:

Código:
$("#prev").click( function() {   
     if(x == 1) {      
         $("#destacado1").fadeOut("easeout", function(){
            $("#destacado0").fadeIn("easein");
         });      
         x = 0;
     }     
}); 

Es solo una posibilidad, elimine el break porque no encuentro la necesidad de ponerlo, de nuevo porque no he visto el script actuar con mis propios ojos.

Edito: puede ser un conflicto entre las variables o que al terminar la funcion x quede como undefined prueba definiendo x antes de los eventos .click() por ejemplo:

Código:
x=0;
$("#prev").click( function() {   
     if(x == 1) {      
         $("#destacado1").fadeOut("easeout");      
         $("#destacado0").delay(700).fadeIn("easein");
         x = 0;
         break;
     }     
});    
$("#next").click( function() {
    if(x == 0) {
       $("#destacado0").fadeOut("easeout");
       $("#destacado1").delay(700).fadeIn("easein");
       x = 1;
       break;}    
});
     
$("#prev").click( function() {    
     if(x == 2) {      
         $("#destacado2").fadeOut("easeout");      
         $("#destacado1").delay(700).fadeIn("easein");
         x = 1;
         break;}     
});    
$("#next").click( function() {
     if(x == 1) {      
         $("#destacado1").fadeOut("easeout");      
         $("#destacado2").delay(700).fadeIn("easein");
         x = 2;
         break;}    
});

y un mal uso de break.


Come y duerme en el foro
Come y duerme en el foro
Haz clic para ver el perfil del usuario
Mensajes: 450
Desde: 20/Feb/2009
· ·
ATENCIÓN: Este tema no tiene actividad desde hace más de 6 MESES,
te recomendamos abrir un nuevo tema en lugar de responder al actual
Foro de soporte · Ayuda para webmasters · Java y Javascript
Opciones:
Versión imprimible del tema
Subscríbete a este tema
Date de baja de este tema
Ir al subforo:  
TU NO PUEDES Escribir nuevos temas en este foro
TU NO PUEDES Responder a los temas en este foro
TU NO PUEDES Editar tus propios mensajes en este foro
TU NO PUEDES Borrar tus propios mensajes en este foro
Ahora son las 15:09 UTC+02:00 DST
Temas similares
No se han encontrado temas similares
Recomendado