Ergebnis 1 bis 7 von 7
  1. #1
    Avatar von Toxictype
    Toxictype ist offline Kaiser
    registriert
    30-12-2000
    Beiträge
    1.041

    Lust und Zeit für Doku??? Büttä

    Hallo,

    ich habe hier ein Script (Aufklappmenu). Ich versuche das Script etwas umzuschreiben, um weitere Features einzubringen. Aber irgendwie klappt das nicht!
    Hättet ihr Zeit und Lust eine Doku durch Kommentare einzubringen?

    PHP-Code:
    <!--
    var 
    head="display:''"
    img1=new Image()
    img1.src=""
    img2=new Image()
    img2.src=""

    var ns6=document.getElementById&&!document.all
    var ie4=document.all&&navigator.userAgent.indexOf("Opera")==-1

    function checkcontained(e){
    var 
    iscontained=0
    cur
    =ns6e.target event.srcElement
    i
    =0
    if (cur.id=="foldheader")
    iscontained=1
    else
    while (
    ns6&&cur.parentNode||(ie4&&cur.parentElement)){
    if (
    cur.id=="foldheader"||cur.id=="foldinglist"){
    iscontained=(cur.id=="foldheader")? 0
    break
    }
    cur=ns6cur.parentNode cur.parentElement
    }

    if (
    iscontained){
    var 
    foldercontent=ns6cur.nextSibling.nextSibling cur.all.tags("UL")[0]
    if (
    foldercontent.style.display=="none"){
    foldercontent.style.display=""
    cur.style.listStyleImage=""
    }
    else{
    foldercontent.style.display="none"
    cur.style.listStyleImage=""
    }
    }
    }

    if (
    ie4||ns6)
    document.onclick=checkcontained
    //--> 

  2. #2
    Avatar von jeko
    jeko ist offline Foren-Gott
    registriert
    03-06-2004
    Ort
    [CH]Vor meinem PC[/CH]
    Beiträge
    3.069

    AW: Lust und Zeit für Doku??? Büttä

    Ich versuche mal soviel zu machen, wie mir grad einfällt. Erst werd ich nur mal den QT kommentieren. Ich hoffe das ist das was du meintest.
    PHP-Code:
    <!--
    var 
    head="display:''" // Variable wird deklariert und mit dem Text "display:" versehen
    img1=new Image() // ein neues Image-Objekt namens "img1" wird erstellt
    img1.src="" // das "src"-Attribut des Image-Objekts "img1" wird auf "" gesetzt (leer)
    img2=new Image() // ein neues Image-Objekt namens "img2" wird erstellt
    img2.src="" // siehe img1.src

    var ns6=document.getElementById&&!document.all // Variable "ns6" wird deklariert und enthält "true" wenn der Browser document.getElementById und document.all unterstützt --> der User benutzt Netscape 6 oder höher
    var ie4=document.all&&navigator.userAgent.indexOf("Opera")==-// Variable "ie4" wird deklariert und beinhaltet "true" wenn der Browser document.all unterstützt und nicht "Opera" heisst --> der User benutzt Internet Explorer 4 oder höher

    function checkcontained(e){ // Funktion "checkcontained()" wird deklariert und empfängt einen parameter ("e")
    var iscontained=// Variable "iscontained" wird deklariert und der Wert auf 0 gesetzt
    cur=ns6e.target event.srcElement // deklariert eine globale Variable namens "cur" und füllt sie, wenn "ns6" auf "true" steht, mit dem Wert von dem Ziel-Attribut des übergebenen Parameters der Funktion ("e.target"), wenn "ns6" nicht auf "true" steht, wird "cur" mit dem angeklickten Element ("event.srcElement") gefüllt
    i=// die variable "i" wird global deklariert und mit dem Wert 0 versehen
    if (cur.id=="foldheader"// wenn das Id-Attribut des Elements des wertes in "cur" ==(gleich)  "foldheader" ist...
    iscontained=// ...wird der Wert der Variable "iscontained" auf "1" gesetzt
    else // wenn wenn das Id-Attribut des Elements des wertes in "cur" !=(nicht gleich) "foldheader" ist...
    while (ns6&&cur.parentNode||(ie4&&cur.parentElement)){ /* ... while Schleife beginnt.
    Läuft so lange, wie die Bedingung in den Klammern erfüllt ist.
    Die Bedingung ist, solange die Variable "ns6" UND die "cur.parentNode"  auf "True" sind ("cur.parentNode" liefert "true" zurück, wenn das im Wert der Varibale "cur" enthaltene Element einen Elternknoten hat, mehr dazu in der Selfhtml-Doku über das [url=http://de.selfhtml.org/javascript/objekte/node.htm]node[/url]-Objekt, hier wird dieser Schritt nur gemacht, um zu überprüfen, ob "cur" "e.target" oder das Element von "event.srcElement" enthält), ODER solange die Variablen "ie4" UND "cur.parentElement" auf "true" sind.
    Mehr zum parentElement[url=http://de.selfhtml.org/javascript/objekte/all.htm#parent_element]hier[/url].
    Sinn und Zweck dieser Bedingungen ist, die While-Schleife nur durchzuführen wenn der User die  Browser "internet Explorer 4.0" oder höher oder "Netscape NAvigator 6.0" oder höher benutzt, da ältere Browser, bzw. andere Browser, die in der While-Schleife enthaltenen Befehle, noch nicht kennen oder falsch ausführen könnten UND die While-Schleife nur durchlaufen zu lassen, wenn die Variable "cur" mit einem Element ("event.srcElement") und nicht mit dem Wert von "ns6" gefüllt ist. */
    //hier folgen die befehle und Anweisungen welche solange ausgeführt werden, wie die Bedingungen erfüllt sind
    if (cur.id=="foldheader"||cur.id=="foldinglist"){ // wenn das Id-Attribut des Elementes in dem Wert der Variable "cur" den Wert "foldheader" ODER "foldinglist" enthält...
    iscontained=(cur.id=="foldheader")? /* ...wird die Variable iscontained auf "1" gesetzt, wenn das Id-Attribut des Elementes in dem Wert der Variable "cur" den Wert "foldheader" enthält,
    andernfalls (wenn es also "foldinglist" enthält) wird "iscontained" auf "0" gesetzt */
    break // Schleifen werden mit "break" abgebrochen, d.h. hier wird die Schleife augenblicklich abgebrochen und es wird der Code nach der schliessende Klammer (}) ausgeführt
    }
    cur=ns6cur.parentNode cur.parentElement // hier wird der Wert der Variable "cur" auf "cur.parentNode" gesetzt, wenn die Variable "ns6" "true" enthält, andernfalls wird der Wert der Variable "cur" auf "cur.parentElement". Dies auch nur aus Rücksicht auf versch. Browser bzw. -versionen.
    }

    if (
    iscontained){ // wenn die Variable "iscontained" den Wert "1" enthält, wird der folgende Code ausgeführt bis zur schliessenden Klammer (})
    var foldercontent=ns6cur.nextSibling.nextSibling cur.all.tags("UL")[0// die lokale Variable "foldercontent" wird deklariert und wenn die Variable "ns6" auf "True" steht, der Wert auf "cur.nextSilbing.nextSilbing" gesetzt (springt zum nächsten Knoten des Elements, mehr dazu in der Sefhtml-Doku über das [url=http://de.selfhtml.org/javascript/objekte/node.htm#next_sibling]node[/url]-Objekt), andernfalls wird der Wert auf "cur.all.tags("UL")[0]" gesetzt. Mehr über das [url=http://de.selfhtml.org/javascript/objekte/all.htm#ansprechen]All.tags[/Url] in der Seflhtml-Doku. Dies auch wieder nur bezüglich Browserkompatibilität.
    if (foldercontent.style.display=="none"){ // wenn die die CSS-Eigenschaft "display" (anzeigen des Elementes) des in dem Wert der Variable "Foldencontent" gespeicherten Elementes auf "none" (Element wird nicht angezeigt) steht, werden die folgenden Zeilen bis zur schliessenden Klammer (}) ausgeführt
    foldercontent.style.display="" // die CSS-Eigenschaft "display" des in dem Wert der Variable "Foldencontent" gespeicherten Elementes wird auf "" gesetzt (die Eigenschaft wird leer, es wird ein Standard-Wert eingefügt, das Element wird sichtbar) 
    cur.style.listStyleImage="" // die CSS-Eigenschaft "listStyleImage" wird auf "" gesetzt (verschwindet). ListStyleImage wird eingesetzt um Aufzählung mit eigenen Symbolen zu gestalten. Ein Beispiel [url=http://de.selfhtml.org/css/eigenschaften/listen.htm#list_style_image]hier[/url].
    }
    else{ 
    //Wenn die CSS-Eigenschaft "display" des in dem Wert der Variable "Foldencontent" gespeicherten Elementes nicht auf "none" ist, werden folgende Zeilen ausgeführt, bis zur SChliessenden Klammer (})
    foldercontent.style.display="none" //setzt die CSS-Eigenschaft "display" des in dem Wert der Variable "Foldencontent" gespeicherten Elementes auf "none"
    cur.style.listStyleImage="" // siehe oben
    }
    }
    }
    //juhuu, endlich am Ende, nur noch 2 ZEILEN!!! ^^
    if (ie4||ns6// wenn die Variable "ns6" ODER die Variable "ie4" auf "true" steht, wird die Funktion checkcontained aufegerufen, übergeben wird das aufrufende Event (onClick)
    document.onclick=checkcontained
    //--> 
    endlich fertig!!!! yeah!!!! aber jetzt muss ich schleunigst ins betT! meine Eltern rasten fast! cu und g n8! Fragen beantworte ich alle morgen!!!! g n8!

    greeztz jeko
    Geändert von jeko (23-09-2004 um 11:26 Uhr)
    Arbeit an der Sprache ist Arbeit am Gedanken.
    NoPaste / Format / Analyze / Crypt
    Ich bin ein Schwätzer.

  3. #3
    Avatar von Toxictype
    Toxictype ist offline Kaiser
    registriert
    30-12-2000
    Beiträge
    1.041

    AW: Lust und Zeit für Doku??? Büttä

    Doch!
    Genau so meine ich es! :love:
    Wenn Du dir weiterhin den A**** aufreißen möchtest, würde ich mich freuen!
    Vielleicht steige ich dann mal da durch!

    thx
    Tox

  4. #4
    Avatar von jeko
    jeko ist offline Foren-Gott
    registriert
    03-06-2004
    Ort
    [CH]Vor meinem PC[/CH]
    Beiträge
    3.069

    AW: Lust und Zeit für Doku??? Büttä

    ok, ich brauche einfach ne gewisse Zeit dafür da ich noch n bisschen Schulstress habe daneben *gg*, aber ich machs so gut ich kann.
    Arbeit an der Sprache ist Arbeit am Gedanken.
    NoPaste / Format / Analyze / Crypt
    Ich bin ein Schwätzer.

  5. #5
    Avatar von Toxictype
    Toxictype ist offline Kaiser
    registriert
    30-12-2000
    Beiträge
    1.041

    AW: Lust und Zeit für Doku??? Büttä

    Hi jeko,

    das ist ja ganz große Klasse von Dir!
    Vielen Dank! Ich werde mich jetzt mal da durchlesen.

    Vielleicht kommt noch mal die ein oder andere Frage!

    Ich hoffe, ich kann Dir auch mal helfen!

    thx
    Tox

  6. #6
    Avatar von jeko
    jeko ist offline Foren-Gott
    registriert
    03-06-2004
    Ort
    [CH]Vor meinem PC[/CH]
    Beiträge
    3.069

    AW: Lust und Zeit für Doku??? Büttä

    Gerngeschehn! Alle Angaben natürlich ohne Gewehr oder Pistole!
    Arbeit an der Sprache ist Arbeit am Gedanken.
    NoPaste / Format / Analyze / Crypt
    Ich bin ein Schwätzer.

  7. #7
    Avatar von Toxictype
    Toxictype ist offline Kaiser
    registriert
    30-12-2000
    Beiträge
    1.041

    AW: Lust und Zeit für Doku??? Büttä

    Hi jeko, hi all,

    Jeko hat mir eine netterweise eine Doku für das Skript oben erstellt. Der Grund dafür war, dass ich JS ein wenig mehr verstehe und ich dieses Skript so hin bekomme, dass sich bei Klick auf einen Mainlink alle geöffneten Menus schließen. Ich habe es bis heute nicht geschafft!

    Bin schon am überlegen, ob man mit PHP Variablen für 'display' übergeben soll, etc.

    Könnt ihr mir weiterhelfen?

Ähnliche Themen

  1. falls wer Zeit und Lust zum testen hat...
    Von Toad im Forum Site-Check
    Antworten: 8
    Letzter Beitrag: 27-05-2003, 15:35
  2. fenster ohne rahmen nach bestimmter zeit laden
    Von Julien im Forum JavaScript
    Antworten: 3
    Letzter Beitrag: 17-07-2002, 12:01
  3. aus Unix zeit normale zeit
    Von MasterD im Forum Serverseitige Programmierung
    Antworten: 1
    Letzter Beitrag: 24-04-2001, 09:07

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •