Maintenant, j'ai déjà un gestionnaire d'événements

$(function() {
   $('element').hide();
});

Mais l'élément se cache uniquement après son apparition dans le navigateur. Et ça disparaît comme un flash.

Puis-je lier une fonction hide () avant que le contenu n'apparaisse dans mon navigateur?

0
RusAlex 15 déc. 2011 à 12:07

4 réponses

Meilleure réponse

Puis-je lier une fonction hide () avant que le contenu n'apparaisse dans mon navigateur?

Non. Le DOM doit d'abord être chargé avant de pouvoir le manipuler avec javascript. La meilleure façon est de simplement masquer l'élément en utilisant CSS du côté serveur afin qu'il ne s'affiche jamais lorsque la page se charge. Définissez donc une classe cachée dans votre fichier CSS:

.hidden {
    display: none;
}

Puis appliquez-le à votre élément:

<div class="hidden">some hidden content</div>
4
Darin Dimitrov 15 déc. 2011 à 08:10

Le DOM doit être chargé avant de pouvoir y accéder et le modifier correctement à l'aide de JavaScript. Vous devez utiliser CSS pour masquer les éléments, puis plus tard, une fois le chargement du DOM terminé, vous pourrez l'afficher comme vous le souhaitez.

0
Stefan 15 déc. 2011 à 08:12

Y a-t-il une raison pour laquelle vous ne pouvez pas appliquer une classe comme celle-ci à votre élément

HTML

<div class="s-hidden">Hello foo!</div>

CSS

.s-hidden { display: none; visibility: hidden; }

Notez que visibility:hidden cache également l'élément aux lecteurs d'écran, qui liront toujours le contenu de vous en laissant cette option

Ensuite, montrez-le quand vous en avez besoin?

0
isNaN1247 15 déc. 2011 à 08:11

Utilisez CSS pour masquer l'élément:

Affichage: aucun;

0
user997287 15 déc. 2011 à 08:15