Partage
  • Partager sur Facebook
  • Partager sur Twitter

[Java(en tous cas je crois] wanted une fonction

Sujet résolu
23 décembre 2005 à 11:20:23

bonjours
j'ai commencé à faire un site un peu moche mais qui arrive à tenir debout (merci sdz ;) ) mais là je veux changer mon design et j'ai eu une idée :D je ne sai pa si vous voyez mais dans les forum y'a des cadres cachable et montrable quand on clike dessus, un peu comme sur celui là :
http://www.mirage-team.com/forum/naruto-164-episode-encode-disponible-telecharger-bittorrent-t=10329.html
car je voudrais intégrer ça dans mon menu :)
Donc c'est pour savoir le nom et le mode d'emploi de cette fonction et si possible que ce soit pas du java, en php serait le mieu
merci d'avance
  • Partager sur Facebook
  • Partager sur Twitter
23 décembre 2005 à 12:02:58

c'est du javascript : cherche "cacher montrer div javascript" sur google et ton bonheur tu trouveras.
  • Partager sur Facebook
  • Partager sur Twitter
23 décembre 2005 à 13:27:59

sinon elle n'existerai pas en php, car y'a des gens qui bloque le javascript du coup mon site deviendrai inutilisable
  • Partager sur Facebook
  • Partager sur Twitter
23 décembre 2005 à 15:44:52

Pas besoin d'une telle fonction en php, juste d'une petite condition...
  • Partager sur Facebook
  • Partager sur Twitter
24 décembre 2005 à 8:29:12

comment ça?
if (qqn n'a pas activer le javascript)
{
page pas très belle avec un vieux design
}
else
{
magnifique page avec design refais
}
non tu peux dévelloper stp
  • Partager sur Facebook
  • Partager sur Twitter
24 décembre 2005 à 13:02:14

Tu ne crée pas une fonction qui montre le texte, mais plutot une fonction qui le cache, imaginons que tu n'ai pas javascript, alors le texte ne sera pas caché, et on le verra quoi qu'il arrive. Si il a javascript, il est caché.

Petit exemple :

<script type="text/javascript">
        <!--
            window.onload=montre;
            function montre(id) {
            var d = document.getElementById(id);
                     for (var i = 1; i<=10; i++) {
                        if (document.getElementById('smenu'+i)) {document.getElementById('smenu'+i).style.visibility='hidden';}
                      }
            if (d) {d.style.visibility='visible';}
            }
        //-->
        </script>


et le code html qui va avec

<div id="menu">
<dl >
<dt onmouseclicked="javascript:montre('smenu1');" >
|clique pour voir | </dt>
                <dd id="smenu1">
le secret qu'on voit quand on clique secret ^^
                        </dd>   
 </dl>
</div>


  • Partager sur Facebook
  • Partager sur Twitter
25 décembre 2005 à 18:47:26

Déplacé dans le bon forum...
Attention toute fois : Java!=Javascript ! (hein Pierrot ?! :p )
  • Partager sur Facebook
  • Partager sur Twitter
26 décembre 2005 à 12:08:39

merci de ton aide phoenix_stealer mais j'ai commencé la programmation html et php y'a pas longtps et pour le javascript je suis totalement dans le néant du coup me donner une fonction toute faite c'est bien, mais je l'a met ou? et si je veux en faire plusieur sur la meme page est ce que j'ai besoin de copier coller plusieur fois le code javascript ou c'est juste le code html qui faut recopier?
merci encore
  • Partager sur Facebook
  • Partager sur Twitter
26 décembre 2005 à 12:22:34

Bonjour.
Au lieu de te répondre je vais t'expliquer le principe, qui est tout simple : il existe une propriété CSS visibility, qui indique si l'élément auquel c'est appliqué doit être affiché ou non, l'espace occupé par cet élément ceci dit est toujours valable (je dis ça surtout par rapport à display:none;)
Le code JavaScript accède aux styles de l'élément, sur l'événement déclenché lorsque le bouton est cliqué, et modifie cette propriété (visibility).
Et le code donné était bien inutile.
  • Partager sur Facebook
  • Partager sur Twitter
26 décembre 2005 à 13:24:45

oui d'accord si j'utilise la propiété du css, sa me cachera un bout de mon menu, mais je fais comment après pour le rendre visible?
Je pourrais aussi faire tous ça avec des liens, mais c'est moche ça fait plein de page pour rien, sinon je ne pourrais toujours pas avoir une petite explication sur le code javascript, svp? :(
  • Partager sur Facebook
  • Partager sur Twitter
26 décembre 2005 à 20:39:46

Bonsoir,

Reprise d'un de mes messages pour un problème semblable. Voici le code js et hmtl.

A placer entre <head> </head>
<script style="text/javascript">
function expMenu(id) {
var itm = null;
if (document.getElementById) {  itm = document.getElementById(id);}
if (!itm) {  }
else if (itm.style) {
if (itm.style.display == "none") { itm.style.display = ""; }
else { itm.style.display = "none"; }    }     
else { itm.visibility = "show"; }       }
</script >


A placer entre <body> et </body>


<a href="javascript:expMenu('qr_open','qr_closed'); "style=" text-decoration:none ;"><i>R : </i></a><span id='qr_open' style="display:none; position:relative; margin:4px ;">Texte à cacher ;)</span>


L'utilisation du <span> me permet d'avoir qqch d'inline au contraire du <div> qui est de type bloc. Les deux fonctionnent très bien, à toi de choisir.

S'il y a plusieurs textes cachés, il faut l'indiquer dans le qr_open et les faire correspondre :

<a href="javascript:expMenu('qr_open2','qr_closed');"style=" text-decoration:none ;"><i>R : </i></a><span id='qr_open2' style="display:none; position:relative; margin:4px ;">Texte à cacher</span>


Le text-decoration et le margin sont un peu de css que j'ai rajouté pour l'esthétique et ne sont pas indispensable au code. Pour voir le resultat : testez sur cette page


Tu remplaces le texte pour ce que tu as besoin de cacher et le R: par le lien qui déclenche l'activation du menu. Pour ton cas, utilises plutot les div à la place de span.

Cordialement
  • Partager sur Facebook
  • Partager sur Twitter