Comment faire apparaitre un texte entre 2 lignes ?

Comment faire apparaitre un texte entre 2 lignes ? - HTML/CSS - Programmation

Marsh Posté le 26-08-2006 à 00:17:29    

Bonjour,
 
Voilà mon problème : je voudrais pouvoir faire apparaitre un texte entre 2 lignes, mais je ne sais pas comment m'y prendre.
Je sais c'est pas très clair dit comme ça : voilà un expemple !
 
Voilà ce qu'on doit voir au départ :

Citation :

- Titre1
- Titre2
- Titre3
- Titre4
- ...


 
Je voudrais qu'en cliquant sur l'un des titres on puisse voir le texte qui lui est lié comme ceci, sans chargement de page :

Citation :

- Titre1
       Test test test test test test test test test test test test test test
       Test test test test test test test test test test test test test test
       Test test test test test test test test test test test test test test
       Test test test test test test test test test test test test test test
       Test test test test test test test test test test test test test test
       Test test test test test test test test test test test test test test
       Test test test test test test test test test test test test test test
- Titre2
- Titre3
- Titre4
- ...


 
Pourriez-vous m'expliquer comment faire ?

Reply

Marsh Posté le 26-08-2006 à 00:17:29   

Reply

Marsh Posté le 26-08-2006 à 08:16:54    

Tu peux te la jouer debutant et mettre les paragraphes avec style="display:none" et avec un id.
puis quand tu cliques tu passes le display à block

Code :
  1. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
  2. <html>
  3. <head>
  4. <title></title>
  5. <script type="text/javascript">
  6. function ShowHide(id) {
  7.  var elt = document.getElementById(id); if (!elt) return;
  8.  with(elt.style) {
  9.   display = (display=="none" ) ? "" : "none";
  10.  }
  11. }
  12. </script>
  13. </head>
  14. <body>
  15. <a href="#" onclick="ShowHide('para1'); return false;">Parag1</a>
  16. <p style="display:none" id="para1">Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Phasellus vel lacus sed sem rutrum lacinia. Vivamus malesuada nibh vel justo. In condimentum est at odio. Etiam sit amet elit non tortor rhoncus gravida. Nulla in est. Donec ultrices facilisis orci. Duis vel elit. Proin suscipit nisi ut dui. Nullam euismod eleifend neque. Vivamus fermentum sollicitudin metus. Praesent massa nisi, fringilla sit amet, feugiat ut, rutrum laoreet, nisi. Pellentesque porta sollicitudin arcu. Nam volutpat. Etiam scelerisque auctor ligula. Integer accumsan vehicula pede.</p>
  17. </body>
  18. </html>


 
Ou bien tu peux te la jouer gros warrior sans id (c'est mieux pour l'intégration derriere)  

Code :
  1. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
  2. <html>
  3. <head>
  4. <title></title>
  5. <script type="text/javascript">
  6. function Expand(obj) {
  7.  if (!obj) return;
  8.  while(obj && !obj.className.match(/\bexpandbox\b/)) obj = obj.parentNode; //on remonte jusqu'au parent
  9.  if (!obj) return; //on sort si on a part trouvé d'obj parent
  10.  var aElt = obj.getElementsByTagName("*" ); //onrecupere tous les noeuds enfants
  11.  for (var i=0; i<aElt.length; i++) { //on parcours
  12.   if (aElt[i].className.match(/\bexpand\b/)) { //tous les noeuds avec une classe expand on les affichent ou on les cachent
  13.    with(aElt[i].style) display = (display=="none" ) ? "" : "none";
  14.   }
  15.  }
  16. }
  17. </script>
  18. </head>
  19. <body>
  20. <div class="expandbox">
  21. <a href="#" onclick="Expand(this); return false;">Parag1</a>
  22. <p style="display:none" class="expand">
  23.  Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Phasellus vel lacus sed sem rutrum lacinia. Vivamus malesuada nibh vel justo. In condimentum est at odio. Etiam sit amet elit non tortor rhoncus gravida. Nulla in est. Donec ultrices facilisis orci. Duis vel elit. Proin suscipit nisi ut dui. Nullam euismod eleifend neque. Vivamus fermentum sollicitudin metus. Praesent massa nisi, fringilla sit amet, feugiat ut, rutrum laoreet, nisi. Pellentesque porta sollicitudin arcu. Nam volutpat. Etiam scelerisque auctor ligula. Integer accumsan vehicula pede.
  24. </p>
  25. </div>
  26. </body>
  27. </html>


Ou encore jouer avec les CSS et le JS en même temps (c'est largement plus rapide que de parcourir tout le block

Code :
  1. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
  2. <html>
  3. <head>
  4. <title></title>
  5. <style type="text/css">
  6.  .expandbox .expand {display:none;}
  7. </style>
  8. <script type="text/javascript">
  9. function Expand(obj) {
  10.  if (!obj) return;
  11.  while(obj && obj.className.indexOf("expandbox" )==-1) obj = obj.parentNode;
  12.  if (!obj) return;
  13.  var x=obj.className;
  14.  x = (x.match(/\bexpandbox\b/)) ? x.replace("expandbox","expandbox_opened" ) :  x.replace("expandbox_opened","expandbox" );
  15.  obj.className=x;
  16. }
  17. </script>
  18. </head>
  19. <body>
  20. <div class="expandbox">
  21. <a href="#" onclick="Expand(this); return false;">Parag1</a>
  22. <p class="expand">
  23.  Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Phasellus vel lacus sed sem rutrum lacinia. Vivamus malesuada nibh vel justo. In condimentum est at odio. Etiam sit amet elit non tortor rhoncus gravida. Nulla in est. Donec ultrices facilisis orci. Duis vel elit. Proin suscipit nisi ut dui. Nullam euismod eleifend neque. Vivamus fermentum sollicitudin metus. Praesent massa nisi, fringilla sit amet, feugiat ut, rutrum laoreet, nisi. Pellentesque porta sollicitudin arcu. Nam volutpat. Etiam scelerisque auctor ligula. Integer accumsan vehicula pede.
  24. </p>
  25. </div>
  26. </body>
  27. </html>


Dans notre dernier cas on replace la classe par une autre classe qui n'a aucun effet (donc pas de display:none sur les blocks internes.


Message édité par gatsu35 le 26-08-2006 à 08:28:08
Reply

Marsh Posté le 28-08-2006 à 10:27:24    

Merci pour tout : je vais tester tout ça rapidement :jap:

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed