• Gelöst simbabrandenstein

    (@simbabrandenstein)


    hallo ihr lieben ich suche und suche doch finde ich keien lösungegen filicht kann mir jemande von euch helfen

    ein seiten anker kennt denke ich mal fast jeder 3

    jetzt meien frage dazu gibt es die möglichkeit den anker unsichbahr zumachen ? das es nicht immer so aus sehen tuht #Mystic besser gesagt das der name mit der # nicht sichbahr ist ?

Ansicht von 9 Antworten – 1 bis 9 (von insgesamt 9)
  • Moderator threadi

    (@threadi)

    Ein Anker dient als Sprungziel zu einem Abschnitt innerhalb einer Seite. Im HTML-Standard wird das wie von dir beschrieben genutzt. Ich bin nun unsicher wo du den Anker weg haben willst: aus dem Link den man anklickt oder aus der URL die danach aufgerufen wird?

    Moderator La Geek

    (@la-geek)

    das der name mit der # nicht sichbahr ist

    Du kannst den Link nicht verschleiern oder ändern. Das # sollte aber nur im Link selbst sichtbar sein und nicht im verlinkten Wort.

    Ich bin nun unsicher wo du den Anker weg haben willst: aus dem Link den man anklickt oder aus der URL die danach aufgerufen wird?

    Interessant, 🤔 wie könnte man den einen oder den anderen Anker-Link ohne # darstellen?

    Thread-Starter simbabrandenstein

    (@simbabrandenstein)

    sorry das ich erst jetzt schreibe

    hier zu sehen https://astellia-sun-solstice.yoga/#Jahreszeiten wenn ich eien anger mach den muss ich ein # davor schreiben udn in der url stehe den auch #Jahreszeiten udn das würde ich grne versuchen zu verstcken nur die frage wie geht das ?

    Moderator threadi

    (@threadi)

    Dein Beitrag war in deinem anderen Thema gelandet, ich hab ihn mal hierher geschoben.

    Anker sind, wie oben schon angedeutet, ein absoluter HTML-Standard. Sie haben keinerlei Nachteile für dich oder deine Website. Wenn du auf diese verzichten willst, gäbe es nur die Möglichkeit mit einem individuellen JavaScript das Scrollen zu dem Ziel zu realisieren. Basis ist diese Funktion, die auch von jedem modernen Browser unterstützt wird: https://developer.mozilla.org/en-US/docs/Web/API/Element/scrollIntoView

    Beispiel:

    jQuery(document).ready(function($) {
    $("a[data-link-target").on("click", function(event) {
    event.preventDefault();
    document.getElementById($(this).data("link-target")).scrollIntoView();
    });
    });

    Jetzt ist es natürlich eine Herausforderung das von dein Projekt einzubinden. Da du Elementor in der kostenfreien Version und kein Child-Theme nutzt, wäre das Vorgehen möglicherweise so:

    1. Installiere dir ein Code Snippet Plugin: https://de.wordpress.org/plugins/code-snippets/
      Alternativ: erstelle dir ein Child-Theme: https://developer.wordpress.org/themes/advanced-topics/child-themes/
    2. Füge beim Code Snippet Plugin ein neues Snippet hinzu. Gib ihm einen Namen und verwende folgenden PHP-Code:
    add_action( 'wp_head', function() {
    echo '<script>
    jQuery(document).ready(function($) {
    $("a[data-link-target").on("click", function(event) {
    event.preventDefault();
    document.getElementById($(this).data("link-target")).scrollIntoView();
    });
    });
    </script>';
    } );

    3. Achte darauf das Snippet nicht nur zu speichern sondern auch zu aktivieren.

    Anschließend musst du deine Links noch formatieren.

    1. Öffne dazu die Seite mit den Links in Elementor.
    2. Such dir das Widget heraus wo du derzeit zu „Jahreszeiten“ verlinkst. Dort entfernst du aus dem URL-Feld den Anker #Jahreszeiten und setzt einfach nur ein „#“ rein.
    3. Klappe dann die Einstellungen zu dem Link über das Zahnrad rechts von ihm auf. Dort gibst du dann bei Attribut folgendes ein: data-link-target|Jahreszeiten
    4. Müsste dann so aussehen: https://snipboard.io/e6aYQI.jpg
    5. Speichern, fertig.

    Wenn du dann im Frontend die Seite lädst, ist der Anker nicht mehr zu sehen und beim Anklicken kommt man dennoch zum Ziel. Ich habe das so wie oben beschrieben bei mir lokal erfolgreich getestet. Grundsätzlich geht es also. Du musst „nur“ noch die anderen Linkziele entsprechend setzen, das JavaScript muss dazu in keiner Form angepasst werden. Und ja, der Aufwand ist größer als bei einem Anker. Aber es war dein Wunsch und so wäre er erfüllbar.

    Zu der o.g. Funktion scrollIntoView() gibt es auch noch etwas komplexere Alternativen mit der Ermittlung der Position des Ziels am Bildschirm. Siehe: https://stackoverflow.com/questions/13266746/scroll-jump-to-id-without-jquery

    Es gibt bei all dem leider aber auch Nachteile:
    Besucher ohne JavaScript werden das natürlich nicht ausführen können.
    Der Browser der Besucher muss scrollIntoView() kennen. Das müssten heutzutage alle sein, außer man nutzt ein älteres Smartphone.
    Für dich ist der Aufwand auch größer als bei einem Anker, da du das Attribut an den Links setzen musst.

    Thread-Starter simbabrandenstein

    (@simbabrandenstein)

    uff das nene ich mal eien aus fürlich aber auch echt schöne beschribung ich danke dir sehr dafür ich werde mich zum we dahinter klämmen er werde ich es nicht schaffen

    Moderator threadi

    (@threadi)

    Ja, klingt nach viel, aber wenn du es einmal hast, klappt es.

    Übrigens noch ein Nachteil den ich vergessen hatte:
    Das funktioniert nur wenn die Ziele auf der gleichen Seite sind. Du kannst das nicht verwenden, wenn das Linkziel auf einer anderen Seite ist. Dafür muss man dann wiederum Anker verwenden.

    Moderator La Geek

    (@la-geek)

    @simbabrandenstein
    Was stört dich an der Raute?

    Thread-Starter simbabrandenstein

    (@simbabrandenstein)

    das die rul den auf einmal länger würde nur weill mann eien anker worde setzen tuht udn dabei ein # zusehen ist aber eventuel bekomme ich das weg gearbeidet

    Da seit einiger Zeit keine Rückmeldung mehr vom TE kam, wird der Thread aus administrativen Gründen auf gelöst gesetzt, damit die ungelösten Threads, in denen noch Hilfe benötigt wird, leichter auffindbar sind.

    Der Status „gelöst“ kann vom TE jederzeit geändert und der Thread kann mit Nachfragen oder einem Feedback ergänzt werden.

    Lösung gefunden? In einem User-helfen-User-Forum wie diesem hier ist das Posten der Lösung für andere User immer hilfreich, danke.

Ansicht von 9 Antworten – 1 bis 9 (von insgesamt 9)

Du musst angemeldet sein, um auf dieses Thema zu antworten.