Petit coup de main Javascript (à priori simple)


Zecat
WRInaute accro
WRInaute accro
 
Messages: 12003
Inscription: 1 Mar 2005

Petit coup de main Javascript (à priori simple)

Message le Dim Avr 24, 2011 13:21

Voila j'utilise ce ceci (déjà fourni par un wrinaute ici ... je ne sais plus qui, qu'il me pardonne) .

Un script :

Code: Tout sélectionner
<script>
var zones = ["zonea","zoneb","zonec"];
function deployer(identifier)
{
      for ( var i in zones)
      {
            if (zones[i] != identifier)
            {
                   document.getElementById(zones[i]).style.display="none";
            }
            else
            {
                   document.getElementById(zones[i]).style.display="block";
            }
      }
}
</script>


et ensuite dans mon code :

Code: Tout sélectionner
<a onclick="deployer('zonea')" style="cursor:pointer">A</a><br>
<div id="zonea" style="display:none">
      aaaaaaaaaaa<br>
      aaaaaaaaaaaa<br>
</div>
                                        
<a onclick="deployer('zoneb')" style="cursor:pointer">B</a><br>
<div id="zoneb" style="display:none">
      bbbbbb<br>
      bbbbbbbbbbb<br>
</div>

<a onclick="deployer('zonec')" style="cursor:pointer">C</a><br>
<div id="zonec" style="display:none">
      cccccccccc<br>
      ccccccccccc<br>
</div>


Ca marche impec. Le clic sur chaque lettre deploie la zone correspondante en fermant l'ancienne zone déployée.

Seul probleme, j'y connais rien en JS et me manque un script qui ferait un tout deployer/tout refermer en alternance ... (appliqué sur var zones). Si un JS codeur traine ... Merci d'avance


Zecat
WRInaute accro
WRInaute accro
 
Messages: 12003
Inscription: 1 Mar 2005

Re: Petit coup de main Javascript (à priori simple)

Message le Dim Avr 24, 2011 13:30

arf en relisant le code , meme sans connaitre js, je me dit que :

Code: Tout sélectionner
<script>
var zones = ["zonea","zoneb","zonec"];
function toutdeployer(identifier)
{
      for ( var i in zones)
      {
                  document.getElementById(zones[i]).style.display="block";
      }
}
</script>


et

Code: Tout sélectionner
<script>
var zones = ["zonea","zoneb","zonec"];
function toutcontracter(identifier)
{
      for ( var i in zones)
      {
                   document.getElementById(zones[i]).style.display="none";
      }
}
</script>


ca doit le faire ... ? Un JS codeur peut confirmer ? Arf oui sauf que je veux qu'une fonction qui deployetout/contractetout en alternance ... :roll:


mrPringle
WRInaute impliqué
WRInaute impliqué
 
Messages: 592
Inscription: 11 Mar 2006

Re: Petit coup de main Javascript (à priori simple)

Message le Dim Avr 24, 2011 14:12

Ca devrait le faire :

Code: Tout sélectionner
<script>
var zones = ["zonea","zoneb","zonec"];
function deployer()
{
      var visibility = (document.getElementById("zonea").style.display !== "block") ? "block" : "none";
      for ( var i in zones)  {
            document.getElementById(zones[i]).style.display = visibility;
      }
}
</script>


Zecat
WRInaute accro
WRInaute accro
 
Messages: 12003
Inscription: 1 Mar 2005

Re: Petit coup de main Javascript (à priori simple)

Message le Dim Avr 24, 2011 14:41

heu je dois je suppose la renommer toutdeployertoutcontracter ? qu'elle se bouscule pas avec l'autre ... :?: Par contre je vois pas de none dans le script ? manque pas un truc ? Je uspect un des deux blocks :wink:


Zecat
WRInaute accro
WRInaute accro
 
Messages: 12003
Inscription: 1 Mar 2005

Re: Petit coup de main Javascript (à priori simple)

Message le Dim Avr 24, 2011 19:14

Finalement c'ets enpalce et ca marche ... Merci mrPringle :wink:

J'ai juste changé le nom de la fonction.


mrPringle
WRInaute impliqué
WRInaute impliqué
 
Messages: 592
Inscription: 11 Mar 2006

Re: Petit coup de main Javascript (à priori simple)

Message le Dim Avr 24, 2011 22:21

De rien :)


Zecat
WRInaute accro
WRInaute accro
 
Messages: 12003
Inscription: 1 Mar 2005

Re: Petit coup de main Javascript (à priori simple)

Message le Mar Avr 26, 2011 18:21

Si j'osais abuser mrPringle ...

Mon premier script permet d'avoir 3 zones et le clic sur une lettre deploie la zone correspondante et replie toutes les autres : tres bien ...

Sauf que ca serait encore plus que "tres bien" si un nouveau clic sur la lettre refermait la zone ... faut rajouter quoi ou ? :wink:

PS : Grrr va vraiment falloir que je me mette aussi au JS !


mrPringle
WRInaute impliqué
WRInaute impliqué
 
Messages: 592
Inscription: 11 Mar 2006

Re: Petit coup de main Javascript (à priori simple)

Message le Mer Avr 27, 2011 0:34

Oui faut t'y mettre, JS c'est sympa une fois passées les premières interminables sessions de debuggage. :)
Ca devrait faire ce que tu souhaites :

Code: Tout sélectionner
function deployer(identifier)
{
      if (document.getElementById(identifier).style.display === 'block') {
            document.getElementById(identifier).style.display="none";
      }
      for ( var i in zones) {
            if (zones[i] !== identifier)  {
                   document.getElementById(zones[i]).style.display="none";
            }
      }
}


PS. Si tu ajoutes pas mal de JS sur ton site, tu devrais voir à utiliser une librairie comme jQuery.


Zecat
WRInaute accro
WRInaute accro
 
Messages: 12003
Inscription: 1 Mar 2005

Re: Petit coup de main Javascript (à priori simple)

Message le Mer Avr 27, 2011 8:18

merci je vais tester et intégrer (ce sont les coches bleues sur le forum de qlm qui permettent de deployer les 10 derniers topics si tu veux voir) :

Les codes d'acces :
http://forum.webrankinfo.com/coder-son-forum-utiliser-forum-standard-p ... 42315.html

sinon jquery, je l'ai intégré sur le site pour les slider de notations ... je vais digérer le biniou doucement :wink:


Zecat
WRInaute accro
WRInaute accro
 
Messages: 12003
Inscription: 1 Mar 2005

Re: Petit coup de main Javascript (à priori simple)

Message le Mer Avr 27, 2011 9:27

Bon testé ... marche pas. le nouveau scipt ne fait plus rien de visible (ni deployer non contracté). j'ai remis l'ancien pour le moment


mrPringle
WRInaute impliqué
WRInaute impliqué
 
Messages: 592
Inscription: 11 Mar 2006

Re: Petit coup de main Javascript (à priori simple)

Message le Mer Avr 27, 2011 9:37

C'est sur je viens de relire, je devais être fatigué... :)

Code: Tout sélectionner
function deployer(identifier)
{
      var i, elem = document.getElementById(identifier);
      elem.style.display = (elem.style.display === 'block') ? 'none' : 'block';
      for (i in zones) {
            if (zones[i] !== identifier)  {
                   document.getElementById(zones[i]).style.display = 'none';
            }
      }
}


En gros la première ligne (après les déclarations de variables) affiche le bloc demandé ou le masque si c'est déjà le cas et la boucle masque tous les autres ensuite.


Zecat
WRInaute accro
WRInaute accro
 
Messages: 12003
Inscription: 1 Mar 2005

Re: Petit coup de main Javascript (à priori simple)

Message le Mer Avr 27, 2011 9:39

ouai oaui ... tu voulais voir si je suivais :mrgreen: :mrgreen: Ben t'as vu, je suis pas :mrgreen: Bon je va retester


Zecat
WRInaute accro
WRInaute accro
 
Messages: 12003
Inscription: 1 Mar 2005

Re: Petit coup de main Javascript (à priori simple)

Message le Mer Avr 27, 2011 9:43

2peccable ! C'est en place. Milles merci.


mrPringle
WRInaute impliqué
WRInaute impliqué
 
Messages: 592
Inscription: 11 Mar 2006

Re: Petit coup de main Javascript (à priori simple)

Message le Mer Avr 27, 2011 10:02

Oui c'était pour voir si tu suivais. :)
Cool si ça marche.

mitchum
WRInaute discret
WRInaute discret
 
Messages: 237
Inscription: 18 Fév 2004

Re: Petit coup de main Javascript (à priori simple)

Message le Mer Avr 27, 2011 10:04

zecat, tu devrais te mettre a Jquery, un petit "toggle" et c 'est réglé :)

Petit coup de main Javascript (à priori simple)

Si vous avez aimé cette discussion, partagez-la sur vos réseaux sociaux préférés :

Lectures recommandées sur ce thème :

Consultez la description détaillée des produits ou services de Google suivants : JotSpot

  • Transformer des simples citations de votre site en liens
    Cet outil vous permet de trouver des pages citant votre site mais ne faisant pas (encore) de lien. Il suffira parfois d'un simple mail pour transformer cette simple citation en lien (backlink).
  • Analyse du référencement Google
    Cet outil vous donne un petit résumé de l'état de référencement de votre site dans Google.
  • Analyse de similarité textuelle
    Cet outil vous permet de calculer la similarité entre 2 pages web. L'algorithme utilisé repose sur l'analyse des occurrences des mots (mais pas sur leur positionnement dans les pages). Google utilise cette notion à certains endroits dans son algorithme, mais de façon bien plus évoluée que ce petit outil... Avoir des pages trop similaires peut entraîner des problèmes d'indexation... Cet outil vous permettra peut-être de résoudre certains problèmes de contenus dupliqués.


Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités