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?
4 réponses
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>
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.
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?
Utilisez CSS pour masquer l'élément:
Affichage: aucun;
Questions connexes
Questions liées
De nouvelles questions
javascript
Pour des questions concernant la programmation dans ECMAScript (JavaScript / JS) et ses divers dialectes / implémentations (hors ActionScript). Veuillez inclure toutes les balises pertinentes dans votre question; par exemple, [node.js], [jquery], [json], etc.