Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save nextab/c925d8ba4f56f17f1ad068e3a9c7ab2e to your computer and use it in GitHub Desktop.
Save nextab/c925d8ba4f56f17f1ad068e3a9c7ab2e to your computer and use it in GitHub Desktop.
Funktionsweise: Ein Link auf ein Element mit der Klasse .fake-button sorgt dafür, dass das mit der href referenzierte Element (z. B. href="#meine-id")" mit der entsprechenden CSS ID (im Beispiel also ""#meine-id") nach einem Klick automatisch die Klasse "active" erhält.
/* Funktionsweise: Ein Link auf ein Element mit der Klasse .fake-button sorgt dafür, dass das mit der href referenzierte Element (z. B. href="#meine-id")" mit der entsprechenden CSS ID (im Beispiel also ""#meine-id") nach einem Klick automatisch die Klasse "active" erhält.
Theoretisch ist die Logik beispielsweise erweiterbar, indem man die Klasse über einen .close-Button wieder wegnimmt.
Anwendungsbeispiel:
1.) Button:
<div class="fake-button" href="#reveal-info" title="Anklicken, um mehr zu erfahren">Mehr Informationen</a>
2.) Referenziertes Element:
<div class="hidden" id="reveal-info">
<!-- My hidden content that should become visible ... -->
</div>
*/
document.addEventListener('click', function (event) {
// console.log(event);
if (event.target.matches('.fake-button')) {
// Run your code to open a modal
// console.log(event.target);
const target = event.target.getAttribute('href');
// console.log(target);
const target_row = document.getElementById(target.replace("#", ""));
target_row.classList.toggle('active');
// console.log(mad);
}
/*
if (event.target.matches('.close')) {
// Run your code to close a modal
} */
}, false);
// Super clean version:
document.addEventListener('click', function (event) {
if (!event.target.matches('.fake-button')) return;
const mad = document.querySelector(event.target.getAttribute('href'));
mad.classList.toggle('active');
}, false);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment