11521 sujets

JavaScript, DOM et API Web HTML5

Bonsoir !

Sur une page j'affiche plusieurs DIV. Le contenu de ces DIV est dévoilé avec des liens et la fonction toggle de jquery.

<a href="javascript:;" onclick="$('div#1').toggle('slow');">Lien 1</a>
<div id="1" style="display: none;">
	du contenu
</div>

<a href="javascript:;" onclick="$('div#2').toggle('slow');">Lien 1</a>
<div id="2" style="display: none;">
	du contenu
</div>

<a href="javascript:;" onclick="$('div#3').toggle('slow');">Lien 1</a>
<div id="3" style="display: none;">
	du contenu
</div>


A partir d'un lien comme celui ci dessous et situé sur une autre page, comment faire pour que le contenu de DIV#X soit dévoilé directement ?

<a href="page.php?categorie=1


Merci pour votre aide !
Hello,
Le principe est que tu récupères les paramètres de l'url, que tu testes si tu as ton paramètre requis avec une valeur correcte et que tu déclenches ton action voulue.

Pour récupérer les paramètres d'url tu dois les chercher avec ça :
location.search

Ça te renvoie ça :
?categorie=1


Ensuite il faut que tu transformes cette chaîne de caractères en tableau de paires clé/valeur de cette manière :
    var query = location.search.substr(1),
        paramsKeyedPaired = [];
    if(query.length > 0) {
        query.split('&').forEach(function(value,key){
            var pair = value.split('=');
            paramsKeyedPaired[pair[0]] = pair[1];
        });
    }

Tu pourras ensuite exécuter ton action avec l'un des paramètre recherché :
    if(paramsKeyedPaired.categorie) {
        $('#' + paramsKeyedPaired.categorie).toggle();
    }

Voilà rapidement le principe Smiley smile