11548 sujets

JavaScript, DOM et API Web HTML5

Bonsoir les couches tard !

J'ai fait une recherche et lu le Topic "Livres de référence Javascript", mais j'ai pas trouvé se que je cherche, ou alors j'ai pas bien compris Smiley sweatdrop

Je cherche à faire se que vous pouvez voir ici, en cliquant sur la flèche bleue ça affiche ou masque un bloc :
Exemple ici

Merci pour m'aiguiller sur le Script et code à mettre en place. Smiley smile

Bye
La façon de masquer/afficher un bloc est toujours la même :
document.getElementById('id_du_bloc').style.display = "block";
pour afficher et
document.getElementById('id_du_bloc').style.display = "none";
pour cacher

Maintenant si tu veux mettre ça sur un onclick, c'est pas génial niveau accessibilité mais c'est pas grave, il suffit de mettre cette commande entre les guillemets du onclick et à ce moment-là remplacer les guillemets avant et après id_du_bloc par des apostrophes
Bonsoir,
Avec Firefox, tu peut voir le source d'une sélection dans la page. Ici 2 items consécutifs dont le premier est visible :
<ul>
<li class="select">
<h3 style="cursor: pointer;">Redirection de votre nom de domaine</h3>
<div class="visible">Lorsqu'un internaute saisit votre nom de domaine, il sera redirigé vers l'adresse Web de destination de votre choix.</div></li>
<li class="">
<h3 style="cursor: pointer;">Frame Active</h3>
<div class="novisible">Caractéristiques de nos <strong>Packs Redirection</strong> qui vous permettra de fixer votre nom du domaine sur la barre d'adresses du navigateur. En activant cette option, nous vous permettons, en plus, d'insérer des <strong>méta tags</strong> pour le positionnement de votre nom de domaine dans les moteurs de recherche.</div></li>

Tu peux voir que des "class" sont ajoutées et retranchées dynamiquement par du javascript extrusif issu de 4 fichiers externes :

<script src="/js/funciones.js" type="text/javascript"></script>
<script src="/js/validaciones.js" type="text/javascript"></script>
<script src="/js/CSJSRequestObject.js" type="text/javascript"></script>
<script src="/js/__utm.js" type="text/javascript"></script>


Dont je te souhaites du plaisir à déchiffrer Smiley biggol
Le mieux est de recréer le script si tu ne souhaites utiliser que cette fonctionalité Smiley cligne
To QuentinC > merci, j'avais lu ça, mais perso je ne suis pas 'achement fort pour faire des fonctions de ce type, il me faut un vrai exemple que je puiss l'adapter ensuite... meme si j'apprend vite il faut passer par là.

To chmel > Oui j'avais vu ça, je viens de passer une heure ce matin à éplucher/bidouiller mais v'là le bronx...

Si on peut m'aider un peu plus dans cette démarche ça serait bien cool. Bien sur une fois que cela foncionne je donne le code et pk pas le mettre dans le Topic qui renferme les scripts, ça ne sert à rien de réinventer la roue, juste la modifier selon notre époque Smiley cligne

Merci à vous
Tu veux mettre ça dans un lien, ou lors du passage de la souris ou lors du clic sur un élément qui n'est pas un lien ?
QuentinC a écrit :
Tu veux mettre ça dans un lien, ou lors du passage de la souris ou lors du clic sur un élément qui n'est pas un lien ?


En fait je souhaite faire comme le lien que j'ai donné en 1er post, donc c'est juste des infos cachés que je souhaite faire apparaitre ou disparaitre en cliquant sur une image ou DIV (comme l'ex.)
Gaaaz a écrit :


En fait je souhaite faire comme le lien que j'ai donné en 1er post, donc c'est juste des infos cachés que je souhaite faire apparaitre ou disparaitre en cliquant sur une image ou DIV (comme l'ex.)


Mais la premiere réponse de quentin était bonne
Il faut utiliser la propriété display CSS
Par contre, le lien que tu donnes ne fonctionne pas exactement pareil que la premiere réponse.
Quentin a utilise l'identifant, alors que dans ton lien, c'est l'enfant suivant qui est utilisé à toi de voir comment tu veux faire
Par contre, pour l'accesssiblité, je te conseille de mettre tous en visible par défaut et qu'un JS te cache tous une fois la page chargé. Ca evite que ceux qui n'ont pas JS ne vois rien Smiley cligne

Pour faire ca, il faut que tu es qq notions de DOM et de JS (pour la gestion des evenements)
nORKy a écrit :

Par contre, le lien que tu donnes ne fonctionne pas exactement pareil que la premiere réponse.

Ben vi mai sje veux ça moua :op

nORKy a écrit :

Par contre, pour l'accesssiblité, je te conseille de mettre tous en visible par défaut et qu'un JS te cache tous une fois la page chargé. Ca evite que ceux qui n'ont pas JS ne vois rien

Pour faire ca, il faut que tu es qq notions de DOM et de JS (pour la gestion des evenements)

Hé ben c'est pas gagné :o)

Donc je lâcher l'affaire car je ne sais pas faire et pas vraiment le temps pour le faire/apprendre malheureusement.

Je vais continuer autrement pour ma présentation de se que je voulais mettre en masqué.

SI je trouve un truc je reviendrais sur un autre post !

Marciiiii les filles
Modifié par Gaaaz (21 Aug 2006 - 15:15)
Utilise l'identifiant. C'est le plus simple.
IL n'y a rien de bien sorcier, tu as tous les éléments sur cette page pour y parvenir.

Commence par faire un truc qui marche. Tu t'occuperas de l'accessibilité plus tard, quand tu te seras un peu familiarisé avec l'outil javascript.
Modifié par QuentinC (21 Aug 2006 - 18:07)
Bonjour,
Dommage que tu ais manqué de patience.
Simplification, js extrusif, accès clavier(lien). Ce ne sera pas difficile d'ajouter les flèches en arrière plan. Au final il faudra mettre js et css dans des fichiers externes :
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
<head>
<title>test</title>
<style type="text/css" />
#list1 li{font-weight:bold;font-size:.9em;border-bottom:1px dotted #aaa}
#list1{width:250px}
#list1 li div{font-weight:normal;margin:10px 2px;}
#list1 a{text-decoration:none;color:#000;display:block;}
#list1 .novisible div{display:none;background:#fff}
#list1 .visible{background:#d0daff;color:#000}

</style>
<!--[if lte IE 6]>
<style type="text/css" />
#list1 a{height:0}
</style>
<![endif]-->
<script type="text/javascript">
function commuter(n){
if(lis[n].className=='novisible')lis[n].className='visible'
else lis[n].className='novisible'
}

window.onload = function(){
lis=document.getElementById('list1').getElementsByTagName('LI')
for(j=0;j<lis.length;j++){
	lis[j].className="novisible"
	lien=document.createElement('A')
	lis[j].insertBefore(lien,lis[j].getElementsByTagName('DIV')[0])
	lien.appendChild(lis[j].firstChild)
	lien.href="javascript:commuter("+j+")"
	}
}
</script>
</head>
<body>
<ul id="list1">
<li>titre
<div>bla bla bla bla bla bla bla bla bla bla bla bla </div>
</li>
<li>Redirection de votre nom de domaine
<div>Lorsqu'un internaute saisit votre nom de domaine, il sera redirigé vers l'adresse Web de destination de votre choix.</div>
</li>
<li>Frame Active
<div>Caractéristiques de nos Packs Redirection qui vous permettra de fixer votre nom du domaine sur la barre d'adresses du navigateur. En activant cette option, nous vous permettons, en plus, d'insérer des ...</div>
</li>
</ul>
</body>
</html>

Autre version avec les titres dans des éléments "h4" :
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
<head>
<title>test</title>
<style type="text/css" />
#list1 li{font-weight:bold;font-size:.9em;border-bottom:1px dashed #aaa}
#list1{width:250px}
#list1 li div{font-weight:normal;margin:10px 4px;}
#list1 a{text-decoration:none;color:#000;display:block;}
#list1 .novisible div{display:none;background:#fff}
#list1 .visible{background:#d0daff;color:#000}

</style>
<!--[if lte IE 6]>
<style type="text/css" />
#list1 a{height:0}
</style>
<![endif ]-->
<script type="text/javascript">
function commuter(n){
if(lis[n].className=='novisible')lis[n].className='visible'
else lis[n].className='novisible'
}

window.onload = function(){
lis=document.getElementById('list1').getElementsByTagName('LI')
for(j=0;j<lis.length;j++){
	lis[j].className="novisible"
	titre=lis[j].getElementsByTagName('H4')[0].firstChild
	lien=document.createElement('A')
	lis[j].replaceChild(lien,lis[j].getElementsByTagName('H4')[0])
	lien.appendChild(titre)
	lien.href="javascript:commuter("+j+")"
	}
}
</script>
</head>
<body>
<ul id="list1">
<li>
<h4>titre</h4>
<div>bla bla bla bla bla bla bla bla bla bla bla bla </div>
</li>
<li>
<h4>Redirection de votre nom de domaine</h4>
<div>Lorsqu'un internaute saisit votre nom de domaine, il sera redirigé vers l'adresse Web de destination de votre choix.</div>
</li>
<li>
<h4>Frame Active</h4>
<div>Caractéristiques de nos Packs Redirection qui vous permettra de fixer votre nom du domaine sur la barre d'adresses du navigateur. En activant cette option, nous vous permettons, en plus, d'insérer des ...</div>
</li>
</ul>
</body>
</html>

Modifié par chmel (22 Aug 2006 - 09:34)