Cacher div en javascript

Résolu/Fermé
Mysterious_fea Messages postés 401 Date d'inscription vendredi 29 juin 2007 Statut Membre Dernière intervention 23 mars 2013 - 16 juil. 2007 à 11:01
 ReDLoG - 23 juin 2012 à 14:11
Salut à tous
J'ai vu sur un site ( http://www.rcweb.fr/web/javascript.html ) que l'on pouvait masquer des div en javascript mais cela ne fonctionne pas chez moi.
Est-ce parce que je suis en local ?
Ou un problème de code ?
J'ai mis :
<script>
function cacher('lobjet')
{
	document.getElementById('lobjet').style.visibility = 'hidden';
}
</script>
...
 <div id="lobjet">[Merci d'attendre le chargement complet de la page] </div>
...
<input type="button" value="Cacher la div" onclick="cacher(lobjet)">

Quelle est l'erreur ?
Par ailleurs, j'aimerais utiliser la fonction SetTimeOut au chargement de la page.
Je remplacerais alors le bouton "Cacher la Div" par un
<body onload="javascript:setTimeout('cacher('lobjet')',5000)">

Est-ce bien ça ? Ou faut-il remplacer cacher('lobjet') par cacher() ?
Merci
Ciao
A voir également:

4 réponses

Tiller Messages postés 781 Date d'inscription mercredi 4 juillet 2007 Statut Membre Dernière intervention 14 septembre 2008 210
16 juil. 2007 à 11:33
<script>
function cacher()
{
	document.getElementById('lobjet').style.display = 'none';
}
</script>
...
 <div id="lobjet">[Merci d'attendre le chargement complet de la page] </div>
...
<input type="button" value="Cacher la div" onclick="cacher()">

<body onload="setTimeout('cacher()',5000)">


1) Dans ton setTimeout du onload, tu as utilisé des ' à l'interieur de ' donc => Bug
2) Tu appelles ta fonction cacher() avec cacher(lobjet) En fesant comme sa, il cherche la variable "lobjet", qui n'existe pas donc => Bug
3) tu utilises cela : function cacher('lobjet'), or, les parametres pour les fonctions sont sans guillement donc cacher(lobjet) et donc => Bug
25
Mysterious_fea Messages postés 401 Date d'inscription vendredi 29 juin 2007 Statut Membre Dernière intervention 23 mars 2013 35
23 juil. 2007 à 16:47
Merci pour ta réponse
Après plusieurs essais, ça a miraculeusement marché !
Pour ce qui est du settimeout, j'ai plus galéré : en fait il ne faut pas le mettre dans body onload mais dans le "script" :

<script>setTimeout('cacher()',5000)</script>

Merci encore
8
rien n'est jamais miraculeux! Si tu es en serveur local il vaut mieux actualiser la totalité de ton site pour tester la fonction.
Ceci marche très bien pour de l'affichage contextuel:
entre <head> et <head> je défini ma fonction

function affdiv(mdiv,adiv){
document.getElementById(mdiv).style.display="none";
document.getElementById(adiv).style.display="inline";
}

et j'applelle sur onclick (par exemple) onclick="affdiv('div1','div2')";
5
document.getElementById('ma_div').innerHTML = ""; ==> supprimer tout les composants dans le div

document.getElementById('ma_div').style.visibility = "visible";
==> Cacher le div

document.getElementById('ma_div').style.visibility = "hidden"; ==> Afficher le div
3
Tu es amoureux ou quoi...?
la propriété visible rend visible le bloc div et hidden cache le bloc div donc :
document.getElementById('ma_div').style.visibility = "visible"; // Afficher le bloc div
document.getElementById('ma_div').style.visibility = "hidden"; // Cacher le bloc div
0