Heim  >  Fragen und Antworten  >  Hauptteil

Ändern Sie die Klasse der Dropdown-Schaltfläche, nachdem Sie auf das Dropdown-Element geklickt haben, und laden Sie die Seite neu

<p>Ich versuche, die Klasse eines Dropdown-Schaltflächenelements zu ändern, nachdem der Benutzer auf ein Element im Dropdown-Menü geklickt und die Seite neu geladen hat. </p> <p>Der folgende Code ist gültig, wenn die Seite aktualisiert wird. </p> <pre class="brush:php;toolbar:false;">$(".dropdown-content").on("click", function() { $('.dropbtn').toggleClass('active'); });</pre> <p>Gibt es lokale Speicheroptionen, die ich verwenden kann? Ich habe gerade davon erfahren. </p> <p>Ich verwende derzeit den folgenden Code, um den Text aufzurufen, der in der Dropdown-Schaltfläche angezeigt wird: </p> <pre class="brush:php;toolbar:false;">$(".dropbtn").text( localStorage.getItem("selected") ? localStorage.getItem("selected") : "Hilfreiche Links" ); $(".dropbtn").on("click", function () { $(".dropdown-content").toggleClass("open"); }); $(".dropdown-content a").on("click", function () { $(".dropbtn").text($(this).text()); localStorage.setItem("selected", $(this).text()); $(".dropdown-content").removeClass("open"); });</pre> <p>Vielen Dank an @RedApple für die Hilfe. Es funktioniert einwandfrei – ich frage mich nur, ob die .dropbtn-Klasse auf ähnliche Weise auf aktiv gesetzt werden könnte, wenn auf das A-Element .dropdown-content geklickt wird. </p> <p> Ich habe es versucht, aber ich glaube, ich verwende es nicht richtig, weil .dropbtn die aktive Klasse bei der Seitenaktualisierung nicht beibehält: </p> <pre class="brush:php;toolbar:false;">$(".dropdown-content").on("click", function() { localStorage.setItem("active", $('.dropbtn').toggleClass('active')); $('.dropbtn').toggleClass('active'); });</pre> <p><br /></p>
P粉877719694P粉877719694453 Tage vor532

Antworte allen(1)Ich werde antworten

  • P粉063039990

    P粉0630399902023-08-18 13:17:57

    我认为这应该可以工作...

    let isBtnClicked = localStorage.getItem("isBtnClicked")
    ? localStorage.getItem("isBtnClicked")
    : false;
    $(".dropbtn").addClass(
    isBtnClicked
    ? "hovered" // 在这里填入您点击按钮的类名
    : ""
    );
    $(".dropbtn").text(
    localStorage.getItem("selected")
    ? localStorage.getItem("selected")
    : "Helpful Links"
    );
    $(".dropbtn").on("click", function () {
    $(".dropdown-content").toggleClass("open");
    isBtnClicked = !isBtnClicked;
    localStorage.setItem("isBtnClicked", isBtnClicked);
    });
    $(".dropdown-content a").on("click", function () {
    $(".dropbtn").text($(this).text());
    localStorage.setItem("selected", $(this).text());
    $(".dropdown-content").removeClass("open");
    });

    Antwort
    0
  • StornierenAntwort