Suivez les fils RSS
 
Auteur
Calcifer
# 02 Sep 2010 - 10:28:31
Citer
12 Posts
Bonjour,

J'utilise le plug-in Jquery Roudabout qui est un carrousel.
Lien : http://fredhq.com/projects/roundabout/
Dans un layer qui s'affiche en appuyant sur un bouton.


.register{
display: none;
width: 478px;
height: 478px;
padding: 10px;
border: 1px solid #ff9400;
background-color: white;
}


Le plug-in ne fonctionne pas à cause de "display: none;" car quand je test sans le plug-in fonctionne correctement.

Je ne comprend pas pourquoi...

Merci de votre aide.

^
koala64
# 02 Sep 2010 - 10:51:26
Citer
Modérateur
4162 Posts
Salut,

Je n'ai pas été regardé dans le cœur du plugin mais, à vue de nez, je pense que celui-ci a besoin, lors de son initialisation, de faire des calculs quant aux dimensions des éléments.

Aussi, si tu mets un "display:none;", le calcul ne peut se faire du fait de l'absence de l'élément. Donc, je te conseille de faire un test en passant plutôt par la propriété "visibility:hidden;" ou en positionnant l'élément en dehors de la zone visible.
Modifié par koala64 (02 Sep 2010 - 10:52)

^
Calcifer
# 02 Sep 2010 - 11:02:08
Citer
12 Posts
Effectivement, J'ai pensé la même chose que vous.

J'ai aussi essayé d'introduire "visibility:hidden;" dans le layer en retirant le display.
Du coup je ne sais pas comment faire pour afficher mon layer...

J'utilise ce bout de code pour l'affichage avec le display, il ne fonctionne pas avec "visibility:hidden;"


$("a[href=\"#par\"]").click(function() {
if ($("div#p1_par").is(":hidden")) {
$("div#p1_par").show();
} else {
$("div#p1_par").hide();
}
});


Merci !!

^
koala64
# 02 Sep 2010 - 11:16:05
Citer
Modérateur
4162 Posts
C'est normal puisque les méthodes show et hide ne jouent que sur la propriété display. cligne

Il faut donc passer par une autre méthode :
$(element).css('visibility', 'hidden');
// ...
$(element).css('visibility', 'visible');


^
Calcifer
# 02 Sep 2010 - 11:44:01
Citer
12 Posts
Effectivement ^^

Et un question encore de débutant :

Comment on fait pour détecter si visibility:hidden car .is(:hidden) ne fonctionne pas.

Merci bcp bcp !!

^
koala64
# 02 Sep 2010 - 12:01:47
Citer
Modérateur
4162 Posts
Toujours via la méthode "css" en balançant un test du type :
if($(element).css('visibility') == 'hidden') { ... }

PS: Lorsque tu ne sais pas, je te conseille, avant d'avoir recours au forum, de fouiller dans la documentation de jQuery car la plupart de tes questions y trouveront une réponse.(exemple: http://api.jquery.com/css/ ) cligne

^