fsanchezdsgn
Usuario habitual
Usuario habitual

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:

$("#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!

Avatar Image
Come y duerme en el foro
Come y duerme en el foro

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:

$("#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:

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.

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
Opciones:
Ir al subforo:
Permisos:
TU NO PUEDES Escribir nuevos temas
TU NO PUEDES Responder a los temas
TU NO PUEDES Editar tus propios mensajes
TU NO PUEDES Borrar tus propios mensajes
Temas similares
No se han encontrado temas similares