Bonjour
Il y a peut être des sujets similaires ici, mais je ne les aient pas trouvé.
Pour être franc, je ne sais pas trop formuler avec les mots justes ce que je recherche.
Je vais donc vous expliquer avec un exemple :
#1
Dans le général , j'ai une page sur laquelle j'ai codé une tabs du genre de celle ci ( https://www.elated.com/res/File/articles/development/javascript/document-object-model/javascript-tabs/javascript-tabs.html ). Donc différent petits onglets. C'est une page que j'ai appelé "Photos".
Dans la tab, donc 4 onglets : Toutes, pension, pensionnaire, autre.
La tab active par défaut (a l'ouverture de la page photos est "toutes").
Jusque la, tout va bien
#2
J'ai créé juste en dessous de la tabs (sur la même page) un lien (ou bouton) qui a pour effet (lors du clic) d'afficher et de rendre active la tab 2 (soit pension).
La encore tout va bien.
#3
La partie #2 n'était qu'un test. J'aimerais vraiment avoir un lien pointant vers la page photos depuis une page qu'on pourrait appeler "contacts"
Ce que je voudrais (et que je n'arrive pas a faire), c'est simplement d'avoir la class "pension" de ma tab active quand le visiteur vient de la page "contacts", sinon il faudrait laisser la class "toutes" active.
Voila c'est un peu tarabiscoté, mais y a t'il une solution ?
Voici mes codes :
Etape #1 :
<div class="tab">
<button class="tablinks" onclick="openPhotoscat(event, 'toutes')" id="defaultOpen">Toutes</button>
<button class="tablinks" onclick="openPhotoscat(event, 'pension')">pension</button>
<button class="tablinks" onclick="openPhotoscat(event, 'pensionnaires')">pensionnaires</button>
<button class="tablinks" onclick="openPhotoscat(event, 'autres')">Autres</button>
</div>
<div id="toutes" class="tabcontent">
<span onclick="this.parentElement.style.display='none'" class="topright">×</span>
.........................
</div>
<div id="pension" class="tabcontent">
<span onclick="this.parentElement.style.display='none'" class="topright">×</span>
.......................
</div>
<div id="pensionnaires" class="tabcontent">
<span onclick="this.parentElement.style.display='none'" class="topright">×</span>
..................
</div>
<div id="autres" class="tabcontent">
<span onclick="this.parentElement.style.display='none'" class="topright">×</span>
..................
</div>
Etape #2 :
<script>
function openPhotoscat(evt, photosCat) {
var i, tabcontent, tablinks;
tabcontent = document.getElementsByClassName("tabcontent");
for (i = 0; i < tabcontent.length; i++) {
tabcontent.style.display = "none";
}
tablinks = document.getElementsByClassName("tablinks");
for (i = 0; i < tablinks.length; i++) {
tablinks.className = tablinks.className.replace(" active", "");
}
document.getElementById(photosCat).style.display = "block";
evt.currentTarget.className += " active";
}
// Get the element with id="defaultOpen" and click on it
document.getElementById("defaultOpen").click();
</script>
Lien test sur la même page (qui fonctionne):
<a href="#" onclick="openPhotoscat(event, 'pension')">test</a>
Maintenant comment avoir le même résultat que ce dernier lien en arrivant depuis une autre page (la page qui sommes nous, ou accueil peu importe) ?
Pour information, je code pour un site sous wp, je ne sais pas si ca aura une incidence ou pas ?
Si vous avez des pistes, des liens ou une aide, je suis preneur ?
J'ai essayé mais ca ne fonctionne pas :
<a href="http://www.monsite.bzh/photos/" onclick="openPhotoscat(event, 'pension')">test</a>
Merci d'avance (et bonne année)
Galahan
Il y a peut être des sujets similaires ici, mais je ne les aient pas trouvé.
Pour être franc, je ne sais pas trop formuler avec les mots justes ce que je recherche.
Je vais donc vous expliquer avec un exemple :
#1
Dans le général , j'ai une page sur laquelle j'ai codé une tabs du genre de celle ci ( https://www.elated.com/res/File/articles/development/javascript/document-object-model/javascript-tabs/javascript-tabs.html ). Donc différent petits onglets. C'est une page que j'ai appelé "Photos".
Dans la tab, donc 4 onglets : Toutes, pension, pensionnaire, autre.
La tab active par défaut (a l'ouverture de la page photos est "toutes").
Jusque la, tout va bien
#2
J'ai créé juste en dessous de la tabs (sur la même page) un lien (ou bouton) qui a pour effet (lors du clic) d'afficher et de rendre active la tab 2 (soit pension).
La encore tout va bien.
#3
La partie #2 n'était qu'un test. J'aimerais vraiment avoir un lien pointant vers la page photos depuis une page qu'on pourrait appeler "contacts"
Ce que je voudrais (et que je n'arrive pas a faire), c'est simplement d'avoir la class "pension" de ma tab active quand le visiteur vient de la page "contacts", sinon il faudrait laisser la class "toutes" active.
Voila c'est un peu tarabiscoté, mais y a t'il une solution ?
Voici mes codes :
Etape #1 :
<div class="tab">
<button class="tablinks" onclick="openPhotoscat(event, 'toutes')" id="defaultOpen">Toutes</button>
<button class="tablinks" onclick="openPhotoscat(event, 'pension')">pension</button>
<button class="tablinks" onclick="openPhotoscat(event, 'pensionnaires')">pensionnaires</button>
<button class="tablinks" onclick="openPhotoscat(event, 'autres')">Autres</button>
</div>
<div id="toutes" class="tabcontent">
<span onclick="this.parentElement.style.display='none'" class="topright">×</span>
.........................
</div>
<div id="pension" class="tabcontent">
<span onclick="this.parentElement.style.display='none'" class="topright">×</span>
.......................
</div>
<div id="pensionnaires" class="tabcontent">
<span onclick="this.parentElement.style.display='none'" class="topright">×</span>
..................
</div>
<div id="autres" class="tabcontent">
<span onclick="this.parentElement.style.display='none'" class="topright">×</span>
..................
</div>
Etape #2 :
<script>
function openPhotoscat(evt, photosCat) {
var i, tabcontent, tablinks;
tabcontent = document.getElementsByClassName("tabcontent");
for (i = 0; i < tabcontent.length; i++) {
tabcontent.style.display = "none";
}
tablinks = document.getElementsByClassName("tablinks");
for (i = 0; i < tablinks.length; i++) {
tablinks.className = tablinks.className.replace(" active", "");
}
document.getElementById(photosCat).style.display = "block";
evt.currentTarget.className += " active";
}
// Get the element with id="defaultOpen" and click on it
document.getElementById("defaultOpen").click();
</script>
Lien test sur la même page (qui fonctionne):
<a href="#" onclick="openPhotoscat(event, 'pension')">test</a>
Maintenant comment avoir le même résultat que ce dernier lien en arrivant depuis une autre page (la page qui sommes nous, ou accueil peu importe) ?
Pour information, je code pour un site sous wp, je ne sais pas si ca aura une incidence ou pas ?
Si vous avez des pistes, des liens ou une aide, je suis preneur ?
J'ai essayé mais ca ne fonctionne pas :
<a href="http://www.monsite.bzh/photos/" onclick="openPhotoscat(event, 'pension')">test</a>
Merci d'avance (et bonne année)
Galahan