Ajoutez l'ID du div à l'URL après avoir cliqué, puis supprimez-le de l'URL après avoir cliqué sur Fermer le bouton
P粉676821490
P粉676821490 2024-04-01 11:46:38
0
2
485

J'ai ajouté l'ID du div à l'URL, mais après avoir cliqué sur le bouton de fermeture speaker--card div 中的类 speakers--overlay-close, je ne peux pas le supprimer.

var myDivs = document.getElementsByClassName('speakers--card');
    var closeDiv = document.getElementsByClassName('speakers--overlay-close');

    for(var i = 0; i < myDivs.length; i++) {
        myDivs[i].addEventListener('click', function (event) {
          console.log(this.getAttribute("id"));
          let thisID = this.getAttribute("id");
          window.location.href = window.location.href + "#" + thisID;
        });
    }

J'ai testé quelques fonctions fractionnées, etc. mais cela ne fonctionne pas et l'URL reste la même - utilisez # + id.

P粉676821490
P粉676821490

répondre à tous(2)
P粉184747536

J'ai fini par faire quelque chose comme ça, mais je ne sais pas si c'est la bonne façon :

var myDivs = document.getElementsByClassName('speakers--card');
var closeDivs = document.getElementsByClassName('speakers--overlay-close');

for(var i = 0; i 
P粉376738875

Étant donné que le bouton de fermeture se trouve à l'intérieur du div, lorsque vous cliquez dessus, l'événement se propage et exécute le gestionnaire d'événements de clic du div, qui ajoute à nouveau le hachage. Vous pouvez arrêter la propagation des événements en appelant event.stopPropagation() dans le gestionnaire d'événements du bouton de fermeture, puis supprimer le hachage de l'URL.

var myDivs = document.getElementsByClassName('speakers--card');
var closeDiv = document.getElementsByClassName('speakers--overlay-close');

for (var i = 0; i 
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal