Javascript - eine kurze Frage:

Thema wurde von Frankenwald Hanf-Shop, 2. Juli 2022 erstellt.

  1. Frankenwald Hanf-Shop

    Frankenwald Hanf-Shop Erfahrener Benutzer

    Registriert seit:
    1. August 2019
    Beiträge:
    71
    Danke erhalten:
    14
    Danke vergeben:
    41
    #1 Frankenwald Hanf-Shop, 2. Juli 2022
    Zuletzt bearbeitet: 2. Juli 2022
    Ich hab für Cookie-Texte einen Paragrafen
    Code:
    <p></p>
    mit der
    Code:
    class=pdfNotice
    . Jetzt will ich diesen Paragrafen ausblenden wenn
    Code:
    id="adobe-dc-view"
    Code:
    .classList.contains('ViewSDK_parentRelativeHeight')
    
    .
    Die Bedingung:
    Code:
    if (document.getElementById('adobe-dc-view').classList.contains('ViewSDK_parentRelativeHeight')) {
      document.getElementById('pdfNotice').classList.replace('pdfNotice', 'hidden');
    }
    funktioniert in der Console aber nicht in einem Javascript unter /GXModules/...
    Dieses Javascript liegt im selber Ordner in dem ein Javascript liegt welches mit der selben Funktion einen anderen Cookie-Text ausblendet. Das funktioniert tadellos.
    Wo übersehe ich den Fehler?

    Die ganze Funktion sieht so aus:

    Code:
    window.onload = (event) => {
    if (document.getElementById('adobe-dc-view').classList.contains('ViewSDK_parentRelativeHeight')) {
      document.getElementById('pdfNotice').classList.replace('pdfNotice', 'hidden');
    }
    if (!document.getElementById('adobe-dc-view').classList.contains('ViewSDK_parentRelativeHeight')) {
      document.getElementById('pdfNotice').classList.replace('hidden', 'pdfNotice');
    }
    };
     
  2. Dominik Späte

    Dominik Späte Erfahrener Benutzer

    Registriert seit:
    16. Oktober 2018
    Beiträge:
    930
    Danke erhalten:
    802
    Danke vergeben:
    300
    vs.
    Ich weiß nicht, ob's zusätzlich noch pdfNotice als id hat. Aber zwecks Zugriff via Klasse wäre dann (bei nur einem Element) z.B. das hier:
    Code:
    document.querySelector('.pdfNotice')
     
  3. Frankenwald Hanf-Shop

    Frankenwald Hanf-Shop Erfahrener Benutzer

    Registriert seit:
    1. August 2019
    Beiträge:
    71
    Danke erhalten:
    14
    Danke vergeben:
    41
    es liegt irgendwie am window.onload ... o_O
    Ohne den Aufruf
    Code:
    window.onload = (event) => {}
    funktionieren die beiden Bedingungen.

    Code:
    if (document.getElementById('adobe-dc-view').classList.contains('ViewSDK_parentRelativeHeight')) {
      document.getElementById('pdfNotice').classList.replace('pdfNotice', 'hidden');
    }
    if (!document.getElementById('adobe-dc-view').classList.contains('ViewSDK_parentRelativeHeight')) {
      document.getElementById('pdfNotice').classList.replace('hidden', 'pdfNotice');
    }
     
  4. Frankenwald Hanf-Shop

    Frankenwald Hanf-Shop Erfahrener Benutzer

    Registriert seit:
    1. August 2019
    Beiträge:
    71
    Danke erhalten:
    14
    Danke vergeben:
    41
    p.s auf der Startseite funktioniert es mit
    Code:
    style.display = 'none'
    if (emelent.style.display = none) bla etc usw
     
  5. Frankenwald Hanf-Shop

    Frankenwald Hanf-Shop Erfahrener Benutzer

    Registriert seit:
    1. August 2019
    Beiträge:
    71
    Danke erhalten:
    14
    Danke vergeben:
    41
    Ist das so ne Art schlechter Witz?
    Code:
    window.onload = () => {}
     
  6. Frankenwald Hanf-Shop

    Frankenwald Hanf-Shop Erfahrener Benutzer

    Registriert seit:
    1. August 2019
    Beiträge:
    71
    Danke erhalten:
    14
    Danke vergeben:
    41
    Code:
    window.onload = (socialFeed) => {
        if (document.getElementById('instagram').style.display != 'none') {
            document.getElementById('socialFeedNotice').classList.replace('show', 'hidden');
        }
        if (document.getElementById('instagram').style.display == 'none') {
            document.getElementById('socialFeedNotice').classList.replace('hidden', 'show');
        }
        if (document.getElementById('adobe-dc-view').classList.contains('ViewSDK_parentRelativeHeight')) {
            document.getElementById('pdfNotice').classList.replace('pdfNotice', 'hidden');
        }
        if (!document.getElementById('adobe-dc-view').classList.contains('ViewSDK_parentRelativeHeight')) {
            document.getElementById('pdfNotice').classList.replace('hidden', 'pdfNotice');
        }
    };
    

    Die socialFeedNotice wird ausgeblendet wenn #id display: block aber die pdfNotice nicht wenn #id contains {ViewSDK_parentRelativeHeight}

    ViewSDK_parentRelativeHeight hat man nur in der Klasse wenn das Cookie akzeptiert wurde.
     
  7. Frankenwald Hanf-Shop

    Frankenwald Hanf-Shop Erfahrener Benutzer

    Registriert seit:
    1. August 2019
    Beiträge:
    71
    Danke erhalten:
    14
    Danke vergeben:
    41
    Es funktioniert jetzt mit setTimeout

    Code:
    setTimeout(() => {
      if (document.getElementById('adobe-dc-view').classList.contains('ViewSDK_parentRelativeHeight')) {
      document.getElementById('pdfNotice').classList.replace('show', 'hidden');
      }
      if (!document.getElementById('adobe-dc-view').classList.contains('ViewSDK_parentRelativeHeight')) {
      document.getElementById('pdfNotice').classList.replace('hidden', 'show');
      }
    }, 2000);