Javascript und style:dislay Werte

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Javascript und style:dislay Werte

    Hallo ihr,

    ich weiss nicht mehr unter was ich suchen soll

    habe ne winzige js Funktion:
    Code:
    function clip(ElementId)
    {
      with(document.getElementById(ElementId))
      {    
        if( style.display == "none")
          {style.display = "block";}
        else
          {style.display = "none";}
      } 
    }
    Des Sinn ist: Mein Chef möchte das die Navigation zur besseren
    Übersicht von Hause aus nur drei Links anzeigt, wenn jetzt ein
    Besucher aber mehr Links zu einem Thema möchte dann kann
    er diese erweitern das klappt auch super.

    Nur wenn ich jetzt alle 6 Links sehe und auf den 4. klicke öffnet
    sich die neue Seite, in welcher natürlich die gleiche Navigation
    zu sehen ist... nur leider wieder im Ausgangszustand also jede
    Link Rubrik mit 3 Unterlinks, ich möchte aber das wenn der
    Benutzer eine Linkkategorie geöffnet hat diese auch auf alle Folge-
    seiten geöffnet bleibt.

    Mit PHP hätte ich damit kein Prob nur müßte ich da die seite beim
    aufklappen des Menues neu laden, daher habe ich es mit js gemacht.
    Bin auch mit js leider nicht so vertraut , ich denke ich bräuchte sowas
    wie nen Session in PHP wo ich was abspeichere und bei jeder Seite
    abfragen kann so ala
    Code:
    if(mehrprogramme == true){
        with (document.getElementById(mehrprogs)){
            if( style.display == "block")
            {style.display = "block";}
    }
    Nur habe ich in js Probleme eine Var zu setzten die Seitenübergreifend
    gültig ist und das ja beim neuladen der Std.-Wert des Elements mit
    display:none geladen wird d.h. if(mehrprogramme == true) wäre ja immer
    falsch...

    Sry aber in js bin ich net so bewandert und habe echt nichts gefunden zu
    meinem Problem, bzw. wusste evtl. nicht unter was ich suchen soll.

    Danke schonmal.

  • #2
    Zitat von PHP_Pan Beitrag anzeigen
    Mit PHP hätte ich damit kein Prob nur müßte ich da die seite beim aufklappen des Menues neu laden
    Das passiert ja nach deiner Aussage jetzt eh schon.

    daher habe ich es mit js gemacht.
    Keine gute Idee;
    Bin auch mit js leider nicht so vertraut
    dann noch schlechtere Idee.

    Eine Navigation sollte immer ohne optionale Techniken wie JavaScript funktionieren.

    Nur habe ich in js Probleme eine Var zu setzten die Seitenübergreifend gültig ist
    Cookies wären eine Möglichkeit.

    Aber du kannst ebenso gut auch aus der Adresse des aktuellen Dokumentes schliessen, wo du dich befindet und was daher auf- und zugeklappt anzuzeigen ist.

    und das ja beim neuladen der Std.-Wert des Elements mit display:none geladen wird
    Wie gesagt, ganz schlechte Idee.
    Für Nutzer ohne JS bleibt es damit nämlich zugeklappt.

    Sinnvolle Umsetzung: Erst mal alles „normal” Laden, und dann mit JavaScript beim oder nach dem Laden nicht benötigtes zuklappen.


    P.S.: Bitte verzichte darauf, deinen Text selber umzubrechen. Das liest sich blöd, und erschwert das Zitieren.
    I don't believe in rebirth. Actually, I never did in my whole lives.

    Kommentar


    • #3
      Danke erstmal für die Antwort.

      Das mit dem neuladen bezog sich auf das aufklappen, denn da muss ich die Seite zum einblenden ja nicht neu laden da der Content schon geladen ist und nur angezeigt werden muss.
      Wenn ich das mit php realisieren würde müßte ich ja zum "quasi" aufklappen die Seite neu laden, das fand ich mit js schöner .

      Das mit location hatte ich auch schon im Sinn. Ginge das denn das ich z.B. dem Element gar keinen display zuweise und zb. Beispiel mit on load neu eine funktion lade die das dann regelt? Naja ich probiers mal.

      Und zu der anderen Sache gibt es heutzutage wirklich noch eine zu berücksichtigende Menge an Usern die js komplett nicht nutzten ich bin davon ausgegangen das das heute so gut wie alle nutzen?
      Ich denke für unseren Kundekreis ist das zwar nicht so von belang aber würdest du sowas lieber komplett in PHP realisieren?

      Kommentar


      • #4
        Wo ist den das Problem? Du übergibst per GET einen Parameter und zeigst dann das Untermenü:
        PHP-Code:
        echo '<li>Bla';
        if (
        'blubb' == $_GET['bla'])
        {
          echo 
        'Hier kommt dein Untermenü';
        }
        echo 
        '</li>' 
        So vom Prinzip her.

        Peter
        Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
        Meine Seite

        Kommentar


        • #5
          Zitat von PHP_Pan Beitrag anzeigen
          Und zu der anderen Sache gibt es heutzutage wirklich noch eine zu berücksichtigende Menge an Usern die js komplett nicht nutzten ich bin davon ausgegangen das das heute so gut wie alle nutzen?
          Bei der zunehmenden Aufdringlichkeit von fiesen vordergründigen Werbelayern ist dieser Nutzerkreis vermutlich sogar zunehmend. Ist aber nur eine Vermutung meinerseits. Zu vernachlässigen ist er jedenfalls nicht. Probier's mal aus: Einen Tag lang mit deaktiviertem JS surfen. Das ist toll, wenn man nicht irgendwelchen Mist wegklicken muss, wo "Schließen" das Gegenteil bedeutet. Banking-Seiten und andere, wo der Entwickler beschlossen hat, auf die paar Leute keine Rücksicht zu nehmen, sind dagegen ärgerlich. Wenn du gut bist, ersparst du den Puristen und Layer-Ad-Rebellen diesen Ärger mit deiner Seite.

          Gruß,

          Amica
          [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
          Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
          Super, danke!
          [/COLOR]

          Kommentar


          • #6
            OffTopic:
            Auch nicht zu vernachlässigen: Die mobilen User. Die hinken halt generell noch ein bisschen hinterher.

            Kommentar

            Lädt...
            X