[GELÖST]createElement Div im Div? || Problem mit zIndex!?

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • [GELÖST]createElement Div im Div? || Problem mit zIndex!?

    Hachja ich schon wieder. :-/ Ich find einfach kein Lösungsansatz im Internet.

    Ich möchte gerne sowas mit document.createElement erzeugen.:

    Quellcode

    1. <div id="content">
    2. <div id="inhalt">Inhalt</div>
    3. </div>



    Soweit bin ich bis jetzt selber gekommen:


    Quellcode

    1. <script type="text/javascript">
    2. function addElement(){
    3. newDiv = document.createElement("div");
    4. newDiv.innerHTML = "Example1";
    5. newDiv.id = "content"
    6. newDiv.style.border ="1px solid #000";
    7. newDiv2 = document.createElement("div");
    8. newDiv.id = "inhalt"
    9. newDiv2.innerHTML = "Example2";
    10. newDiv2.style.border ="1px solid #000";
    11. document.body.appendChild(newDiv);
    12. document.body.appendChild(newDiv2);
    13. }
    14. </script>
    15. <body onload="addElement()"></body>
    Alles anzeigen


    Aber die Divs werden logischerweise einfach nur untereinander erzeugt.
    Hat jemand ein kleinen Tip für mich wie ich das ganze Lösen kann?

    Danke im Vorraus



    EDIT://

    Okay habs raus. Man erstellt sich zuerst ein "rahmen" Element (in meinem Fall < div id="content").
    Und lässt dann alle neu erzeugten Div's so erstellen.

    $('content').appendChild(NewHeader);
    $('content').appendChild(NewInhalt);

    NewHeader und NewInhalt sind in dem fall einfach nur neue Elemente. => var NewHeader= document.createElement("DIV");

    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von Snowflake ()

  • zIndex und dynamische Div's?!

    Hallo. Ich schreib das mal hierzu, da es ein wenig mit dem createElement zu tun hat.

    Also um das mal zu erklären. Ich habe anfangs statisch mit einer forschleife in php mir 20 div's erstellen lassen. Und um das div was man anklickt in den vordergrund zu bringen, ändere ich den Zindex mittels javascript.

    Quellcode

    1. <?php
    2. for($i=1;$i<=20;$i++){
    3. echo "<div id=\"content$i\" onclick=\"zindex($i)\">Content Nr. $i</div>;
    4. }
    5. ?>
    6. Da ja festgelegt ist, wie viele Div's es ingesamt gibt, habe ich das ganze so gemacht, dass das Div was angeklickt wurde den zIndex 1002 bekommt und alle anderen den wert 1000.

    Quellcode

    1. function zindex(id){
    2. for(i=1;i<20;i++){
    3. if(i==id){
    4. $('content'+i).style.zIndex= 1002;
    5. }else{
    6. $('content'+i).style.zIndex= 1000;
    7. }
    8. }
    9. }


    Jetzt ist mein Problem, dass ich diese Div's mittels CreateElement erstelle. Was auch heißt, dass es je nach Datenbankeinträgen 20,30 oder 40 sein können.
    Also kann ich nicht mehr in Javascript mit einer forschleife arbeiten, da ich die anzahl der ingesamt erstellten Div's ja nicht mehr weiß.

    Hat jemand eine Ahnung, wie ich dennoch dem Div was ich angeklickt habe einen höheren zIndex wert zuweisen kann, und den anderen (menge=unbekannt, div id auch= unbekannt) einen niedirgen...damit das Div was ich angeklicht habe im Vordergrund erscheint?


    So nochmal als Beispiel, um es verständlicher zu machen.:

    Quellcode

    1. <div id="content3" onclick="zIndex(3)"></div>
    2. <div id="content8" onclick="zIndex(8)"></div>
    3. <div id="content12" onclick="zIndex(12)"></div>


    Hier sind drei Div's die Id's sind nicht in einer Reihenfolge (1,2,3,4). Kommt ein neuer Eintrag in der Datenbank dazu, added ein Script ein neues div. Das könnte dann die Id 14 haben.
    Und jetzt möchte ich, dass content8 im Vordergrund steht und der Rest im Hintergrund.

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von Snowflake ()