2010-05-12 3 views
0

J'ai l'image et je suis fondu et fondu sur l'image sur le clic. Mais je veux que si la même chose est présente, il ne devrait pas fadein/fadeout.Comment faire correspondre le mot dans jquery

Mon code jquery est

switch(current_id) 
       { 

        case 'l1': 
         $("#left_img img").fadeOut(500, function() { 
         $(this).attr("src","rrr.gif").load(function() { 
         $(this).fadeIn(500); 
           }); 
           }); 
        break; 

        case 'l3': 
         $("#left_img img").fadeOut(500, function() { 
         $(this).attr("src","cc1.gif").load(function() { 
         $(this).fadeIn(500); 
           }); 
           }); 
       break; 

Si je clique sur le lien 1, alors l'image apparaît avec un effet de fondu. mais si je clique à nouveau lien 1 agan, alors encore une fois je vois l'effet de fondu. Est-il possible que je peux éviter que si même lien est cliqué à nouveau

Répondre

0

essayer d'ajouter une autre variable pour vérifier ...

var last_id; 

if (last_id != current_id) { 
last_id = current_id; 
    switch(current_id){ 
    case 'l1': 
     $("#left_img img").fadeOut(500, function() { 
     $(this).attr("src","rrr.gif").load(function() { 
     $(this).fadeIn(500); 
      }); 
      }); 
    break; 
    case 'l3': 
     $("#left_img img").fadeOut(500, function() { 
     $(this).attr("src","cc1.gif").load(function() { 
     $(this).fadeIn(500); 
      }); 
      }); 
    break; 
    } 
} 
0

Faites une vérification de l'attribut src de l'image - si elle n'a pas été déjà changer faire l'effet et le charger po

switch(current_id) 
     { 

      case 'l1': 
       if($(left_img img").attr("src") != "rrr.gif") { 
        $("#left_img img").fadeOut(500, function() { 
        $(this).attr("src","rrr.gif").load(function() { 
        $(this).fadeIn(500); 
          }); 
          }); 
       } 
       break; 

       case 'l3': 
       if($("#left_img img").attr('src') != "cc1.gif") { 
        $("#left_img img").fadeOut(500, function() { 
        $(this).attr("src","cc1.gif").load(function() { 
        $(this).fadeIn(500); 
          }); 
          }); 
       } 
      break; 
+0

un exemple de code pour cela? –

+0

Fourni dans la réponse dans l'édition en cours. –

Questions connexes