2009-07-24 6 views

Répondre

1

EDIT: Alors que les travaux ci-dessous, regardant la source jQuery révèle que cela est beaucoup plus facile:

$(function() { 
    $('a').click(function(){ 
     $('#box').animate({ 
      opacity: "show" 
     }); 
     return false; 
    }); 
}); 

Voici la partie pertinente de la source jQuery, qui définit ces slideDown/Up/Bascule et/fadeIn des fonctions:

// Generate shortcuts for custom animations 
jQuery.each({ 
    slideDown: genFx("show", 1), 
    slideUp: genFx("hide", 1), 
    slideToggle: genFx("toggle", 1), 
    fadeIn: { opacity: "show" }, 
    fadeOut: { opacity: "hide" } 
}, function(name, props){ 
    jQuery.fn[ name ] = function(speed, callback){ 
     return this.animate(props, speed, callback); 
    }; 
}); 

La règle CSS "display: none" ne signifie pas qu'il est transparent, cela signifie qu'il est pas affiché du tout. Vous devez définir l'affichage sur block, puis animer. Vous voulez probablement revenir false dans la fonction de clic, de sorte que le lien ne se termine pas en prenant l'utilisateur vers une autre page (ou vous pouvez simplement définir l'attribut href à « # », que vous pouvez déjà faire).

$(function() { 
    $('a').click(function(){ 
     $('#box').css('opacity', '0'); 
     $('#box').css('display', 'block'); 
     $('#box').animate({ 
      opacity: 1 
     }); 
     return false; 
    }); 
}); 
+0

Merci beaucoup) –

+0

Vous devez utiliser preventDefault(); au lieu de retourner faux; – imns

Questions connexes