Changer la class de deux balise <a> après avoir actualiser la page

Ce sujet est résolu
169209
,

Bonjour à tous,

dite j'aimerai echanger la class de deux balise après le click.

$(document).on('click', '#gb', function () {
    if (document.getElementById('gb').className === 'flag-icon flag-icon-gb')
    {
        $('#fr').addClass('flag-icon flag-icon-gb');
        $('#gb').addClass('flag-icon flag-icon-fr');

    }else
        if (document.getElementById('gb').className === 'flag-icon flag-icon-fr')
    {
        $('#fr').addClass('flag-icon flag-icon-fr');
        $('#gb').addClass('flag-icon flag-icon-gb');
    }
});

Voici mon code, si la page ne se recharge pas tous marche bien mais, mais une fois la page recharger les class reprennent leur place.
Quelqu'un saurai t'il par hasard comment on fait pour que le changement reste là même après rechargement de la page?

Merci d'avance

3 Réponse

44803
,

Bonjour,

Lorsque tu recharches ta page, tout ton javascript est réinitialisé, tout est perdu pour être recréé.
Ce que tu peux faire c'est utiliser le localStorage ou sessionStorage afin de sauvegarder les liens sur lesquels tu as cliqué:

par exemple:

window.sessionStorge.setItem('linked_clicked', 'flag-icon-gb')

Une fois que tu recharges ta page:

let link = window.sessionStorage.getItem('linked_clicked')

dans ta variable tu auras la valeur récupérée du storage.

https://developer.mozilla.org/fr/docs/Web/API/Window/localStorage
https://developer.mozilla.org/en-US/docs/Web/API/Window/sessionStorage

169209
,

Merci Pandazaur, je te ferai un retour d'ici peu

169209
,

Salut Pandazaur, bon j'ai essayé ce que tu m'a dis ça a falli être cela mais le fait est que il garde toujours les changement en session du coup ça bouffe de la memoire et ja'ai laissé mais n'empeche tu m'a appris de nouvelle chose et je t'en remercie.
Je marque résolus