[HTML/Javascript/CSS] [resolu] spoiler une partie de tableau

spoiler une partie de tableau [HTML/Javascript/CSS] [resolu] - HTML/CSS - Programmation

Marsh Posté le 20-11-2008 à 15:45:35    

[:papatte] les bizounours [:ginie]
 
[:noxauror]
 
Imaginons deux codes quasiment identiques:  

Code :
  1. <html>
  2.    <head>
  3.        <style type="text/css">.details { display:none; }</style>
  4.         <script>
  5.         function change() {
  6.             if (document.getElementById("details" ).style.display == "none" ) {
  7.                 document.getElementById("details" ).style.display = "block";
  8.                 document.getElementById("caption" ).innerHTML = "Effacer";
  9.             } else {
  10.                 document.getElementById("details" ).style.display = "none";
  11.                 document.getElementById("caption" ).innerHTML = "Afficher";
  12.             }
  13.         }      
  14.         </script>
  15.    </head>
  16.    <body>
  17.             <table style="width:100%; border:1px; border-style:solid;">
  18.                 <tr><td><a id="caption" href="#" onclick="change();">Afficher</a></td></tr>
  19.                 <tr><td><div class="details" id="details">Le texte qui va apparaitre sous le nom du texte 1</div></td></tr>
  20.                 <tr><td>Blabla</td></tr>
  21.             </table>
  22.    </body>
  23. </html>


 
et  
 

Code :
  1. <html>
  2.    <head>
  3.         <script>
  4.         function change() {
  5.             if (document.getElementById("details" ).style.display == "none" ) {
  6.                 document.getElementById("details" ).style.display = "block";
  7.                 document.getElementById("caption" ).innerHTML = "Effacer";
  8.             } else {
  9.                 document.getElementById("details" ).style.display = "none";
  10.                 document.getElementById("caption" ).innerHTML = "Afficher";
  11.             }
  12.         }      
  13.         </script>
  14.    </head>
  15.    <body>
  16.             <table style="width:100%; border:1px; border-style:solid;">
  17.                 <tr><td><a id="caption" href="#" onclick="change();">Afficher</a></td></tr>
  18.                 <tr><td><div style="display:none;" id="details">Le texte qui va apparaitre sous le nom du texte 1</div></td></tr>
  19.                 <tr><td>Blabla</td></tr>
  20.             </table>
  21.    </body>
  22. </html>


 
Pourquoi, avec le premier, je suis obligé de cliquer 2 fois (la 1ere fois seulement) pour faire apparaitre le texte, alors qu'avec le second ça marche directement [:quardelitre dei]


Message édité par wedgeant le 21-11-2008 à 13:34:29

---------------
Wedge#2487 @HS -#- PW: +∞ -#- Khaz-Modan/Boltiz @WoW
Reply

Marsh Posté le 20-11-2008 à 15:45:35   

Reply

Marsh Posté le 20-11-2008 à 15:47:45    

parceque dans le premier cas .style.display est vide


---------------

Reply

Marsh Posté le 20-11-2008 à 15:49:56    

beuh [:toukc]
la balise <style> n'est pas prise en compte pour remplir .style ? :??:


---------------
Wedge#2487 @HS -#- PW: +∞ -#- Khaz-Modan/Boltiz @WoW
Reply

Marsh Posté le 20-11-2008 à 15:50:25    

nan  
 
document.getElementById("details" ).style ne contient que les styles inline de ton element  


---------------

Reply

Marsh Posté le 20-11-2008 à 15:53:09    

flo850 a écrit :

nan  
 
document.getElementById("details" ).style ne contient que les styles inline de ton element  


raison pour laquelle on peut écrire elm.style = '' pour revenir au style par défaut (dans un taggle)


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
Reply

Marsh Posté le 20-11-2008 à 15:59:21    

flo850 a écrit :

nan  
 
document.getElementById("details" ).style ne contient que les styles inline de ton element  


ah ok, bon ben j'aurais appris quelque chose aujourd'hui alors, mici [:romf]


---------------
Wedge#2487 @HS -#- PW: +∞ -#- Khaz-Modan/Boltiz @WoW
Reply

Marsh Posté le 21-11-2008 à 12:59:58    

Re [:pato el canardo]  
 
Toujours dans ma quête du spoiler idéal, je cherche à pouvoir faire apparaitre/disparaitre (shazam [:prodigy]) une cellule voir même ligne entière d'un tableau.
 
J'ai essayé de faire ça:

Code :
  1. <table style="width:100%; border:1px; border-style:solid;">
  2.    <tr><td colspan=2><a id="caption" href="#" onclick="spoiler();">Afficher</a></td></tr>
  3.        <div id="details" style="display:none;">
  4.            <tr><td>blabla</td><td>blabla</td></tr>
  5.        </div>
  6.    <tr><td>bloblo</td><td>bloblo</td></tr>
  7. </table>


seulement voila, ça marche pas parce que "display:none" n'est pas un attribut de table [:transparency]
 
quelqu'un aurait une idée ?  [:parisbreizh]  [:islord]

Message cité 2 fois
Message édité par wedgeant le 21-11-2008 à 13:00:21

---------------
Wedge#2487 @HS -#- PW: +∞ -#- Khaz-Modan/Boltiz @WoW
Reply

Marsh Posté le 21-11-2008 à 13:02:42    

sudo rm -rf /


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
Reply

Marsh Posté le 21-11-2008 à 13:05:31    

ça m'aide énormément [:cerveau dawak]


---------------
Wedge#2487 @HS -#- PW: +∞ -#- Khaz-Modan/Boltiz @WoW
Reply

Marsh Posté le 21-11-2008 à 13:35:56    

bon, j'ai trouvé quelque chose [:dawa]
 

Code :
  1. <table style="width:100%; border:1px; border-style:solid;">
  2.    <tr><td colspan=2><a id="caption" href="#" onclick="spoiler();">Afficher</a></td></tr>
  3.        <tr id="details" style="visibility:collapse;"><td>blabla</td><td>blabla</td></tr>
  4.    <tr><td>bloblo</td><td>bloblo</td></tr>
  5. </table>


 
 [:parisbreizh]


---------------
Wedge#2487 @HS -#- PW: +∞ -#- Khaz-Modan/Boltiz @WoW
Reply

Marsh Posté le 21-11-2008 à 13:35:56   

Reply

Marsh Posté le 21-11-2008 à 13:37:28    

tree

Reply

Marsh Posté le 21-11-2008 à 13:41:03    

mézencore ? [:noxauror]


---------------
Wedge#2487 @HS -#- PW: +∞ -#- Khaz-Modan/Boltiz @WoW
Reply

Marsh Posté le 21-11-2008 à 13:42:17    

wedgeant a écrit :

Re [:pato el canardo]  
 
Toujours dans ma quête du spoiler idéal, je cherche à pouvoir faire apparaitre/disparaitre (shazam [:prodigy]) une cellule voir même ligne entière d'un tableau.
 
J'ai essayé de faire ça:

Code :
  1. <table style="width:100%; border:1px; border-style:solid;">
  2.    <tr><td colspan=2><a id="caption" href="#" onclick="spoiler();">Afficher</a></td></tr>
  3.        <div id="details" style="display:none;">
  4.            <tr><td>blabla</td><td>blabla</td></tr>
  5.        </div>
  6.    <tr><td>bloblo</td><td>bloblo</td></tr>
  7. </table>


seulement voila, ça marche pas parce que "display:none" n'est pas un attribut de table [:transparency]
 
quelqu'un aurait une idée ?  [:parisbreizh]  [:islord]


Tu cherches à faire quoi là ? T'as essayé de passer hidden displayed rawmode au lieu de ton infame bouillie ?

Reply

Marsh Posté le 21-11-2008 à 14:42:12    

masklinn a écrit :


raison pour laquelle on peut écrire elm.style = '' pour revenir au style par défaut (dans un taggle)


taggle  [:ineffable]

Reply

Marsh Posté le 21-11-2008 à 14:46:43    


Ouais taggle :o


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
Reply

Marsh Posté le 21-11-2008 à 15:12:18    

wedgeant a écrit :

Re [:pato el canardo]  
 
Toujours dans ma quête du spoiler idéal, je cherche à pouvoir faire apparaitre/disparaitre (shazam [:prodigy]) une cellule voir même ligne entière d'un tableau.
 
J'ai essayé de faire ça:

Code :
  1. <table style="width:100%; border:1px; border-style:solid;">
  2.    <tr><td colspan=2><a id="caption" href="#" onclick="spoiler();">Afficher</a></td></tr>
  3.        <div id="details" style="display:none;">
  4.            <tr><td>blabla</td><td>blabla</td></tr>
  5.        </div>
  6.    <tr><td>bloblo</td><td>bloblo</td></tr>
  7. </table>


seulement voila, ça marche pas parce que "display:none" n'est pas un attribut de table [:transparency]
 
quelqu'un aurait une idée ?  [:parisbreizh]  [:islord]


 
Depuis quand le display serait un attribut.
display c'est un attribut de l'objet Style de chaque élément et display:none marche sur n'importe quel élément.
Je te prie donc d'arrêter la drogue

Reply

Marsh Posté le 21-11-2008 à 15:27:07    

à la demande de son auteur, je ferme le topic


---------------
J'ai un string dans l'array (Paris Hilton)
Reply

Sujets relatifs:

Leave a Replay

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