ali: hier der quellcode zum array erstellen...

hi!

habe gestern schon diese frage gestellt, aber mangelhaft beantwortet bekommen...

hier ist der code, den ich bis jetzt geschrieben habe:

function makeItem() {

var Item = new Array();
                        var i = Item;

Item[0] = ["JS FADE", "index.php/"], ["JS MENU", "index.php/"];
                        Item[1] = ["Startseite", "index.php/"], ["News", "index.php/"];

for(var i = 0; i < Item.length; i++) {

Item[i] = document.write("<a href="" + Item[i][1] + "">" + Item[i][0] + "</a>");

alert(Item[i]);

}

}

zweck: diesen brauche ich für ein menu-script (dyn. menu)...

es soll automatisch erkennen, wieviele item's pro menü vorhanden sind.

heißt: Item 1 = 1. Menü, Item 2 = 2. Menü usw.

Startseite und News sind nur die Items eines Menüs!!!

Hoffe ihr habt mich einigermaßen verstanden.

wenn nich, ich hake gerne nach!

gruss ali

  1. hi!

    hier ist der code, den ich bis jetzt geschrieben habe:

    function makeItem() {

    var Item = new Array();
                            var i = Item;

    Warum wird hier i = Item gesetzt?

    Item[0] = ["JS FADE", "index.php/"], ["JS MENU", "index.php/"];
                            Item[1] = ["Startseite", "index.php/"], ["News", "index.php/"];

    for(var i = 0; i < Item.length; i++) {

    Item[i] = document.write("<a href="" + Item[i][1] + "">" + Item[i][0] + "</a>");

    Welchen Wert willst Du hier in das Array-Element Item[i] schreiben? document.write("Text") lefert keinen Wert.

    alert(Item[i]);

    wird immer "undefined" ausgeben.

    }

    }

    In folgender eingekürzter Form schreibt das Script eine Reihe von Links in das Dokument:

    <script type="text/javascript">
    <!--
    var Item = new Array();

    Item[0] = ["JS FADE", "index.php/"], ["JS MENU", "index.php/"];
    Item[1] = ["Startseite", "index.php/"], ["News", "index.php/"];

    for(var i = 0; i < Item.length; i++) {
        document.write("<a href="" + Item[i][1] + "">" + Item[i][0] + "</a>");
    }
    //-->
    </script>

    Soll es das tun? Was soll es noch machen?

    Gruß

    Axel

    1. danke erstmal!

      also, was es machen soll...

      wie die function ja schon verrät "makeItem"->machItem

      Item=ein Teil eines Menüs.

      also ein normales dropdown menü. ich fahre drüber und die leiste mit den Items wird herausgefahren.

      diese function soll also nur die Items aus den Zeichenketten erstellen.

      ich möchte aber nicht für jedes menü extra menü1 = item...... schreiben, sondern nur die items und die menus sehen ja alle gleich aus. also reicht ein menü (code) um alle items einzeln reinzusetzen.

      hoffe du verstehst was ich meine...

      eigentlich möchte ich aber nur wissen, wie ich in einer variable korrekt zeichenketten speichere und auslese (für die einzelnen items item1, item2 usw.).

      also beispiel: item1 = (name, link), (name2, link2)

      und wie spreche ich nun zB name2 von var item an?

      bitte meld dich nochmal!

      gruss ali

      1. eigentlich möchte ich aber nur wissen, wie ich in einer variable korrekt zeichenketten speichere und auslese (für die einzelnen items item1, item2 usw.).

        also beispiel: item1 = (name, link), (name2, link2)

        und wie spreche ich nun zB name2 von var item an?

        Aber das machst Du doch schon in dem Array:

        var Item = new Array();
        Item[0] = ["JS FADE", "index.php/"];
        Item[1] = ["JS MENU", "index.php/"];
        Item[2] = ["Startseite", "index.php/"];
        Item[3] = ["News", "index.php/"];

        Ansprechen:

        Item[1][0] hat den Wert "JS MENU"
        Item[1][1] ist der href dazu.

        Gruß

        Axel

        1. ja!

          ich weiß, ich möchte jetzt nur noch wissen...:

          IST die variable Item[0] oder Item[2], (egal) mit den [] klammern und der werten darin so wie sie ist zum auslesen javascriptmässig (schreibmethode) richtig oder muss/kann ich auch noch eine andere möglichkeit dazu nehmen um dies zu tun???

          gruss ali

          1. ja!

            ich weiß, ich möchte jetzt nur noch wissen...:

            IST die variable Item[0] oder Item[2], (egal) mit den [] klammern und der werten darin so wie sie ist zum auslesen javascriptmässig (schreibmethode) richtig oder muss/kann ich auch noch eine andere möglichkeit dazu nehmen um dies zu tun???

            Es ist eine Möglichkeit, mit JavaScript in einem Array die Namen und die URLs für Links zu speichern und weiter zu verarbeiten. Es gibt mit Sicherheit noch einige andere Array-Varianten, aber diese ist nach meiner Meinung nicht die schlechteste. Vorteil ist, dass Du in einer for - Schleife das gesamte Array auslesen kannst, egal wie viele Links darin vorhanden sind.

            Gruß

            Axel

            1. hey thx!

              also, noch eine frage...

              hier:

              Item[1] = ["Startseite", "index.php/"], ["News", "index.php/"];

              also auf startseite kann ich ja so zugreifen Item[1][0]. ich möchte jetzt aber auch auf News zugreifen. wenn ich also Item[1][3] bzw. Item[1][1][0] eingebe, ist die ausgabe "undefined".

              wäre schön wenn du mir wieder einmal hilfst ;)

              gruss ali

              1. also, noch eine frage...

                hier:

                Item[1] = ["Startseite", "index.php/"], ["News", "index.php/"];

                ^  ^
                das geht so nicht

                also auf startseite kann ich ja so zugreifen Item[1][0]. ich möchte jetzt aber auch auf News zugreifen. wenn ich also Item[1][3] bzw. Item[1][1][0] eingebe, ist die ausgabe "undefined".

                [0]           [1]
                Item[0] = ["JS FADE",    "index.php/"];
                Item[1] = ["JS MENU",    "index.php/"];
                Item[2] = ["Startseite", "index.php/"];
                Item[3] = ["News",       "index.php/"];

                oder

                [0]           [1]           [2]        [3]
                Item[0] = ["JS FADE",    "index.php/", "JS MENU", "index.php/"];
                Item[1] = ["Startseite", "index.php/", "News",    "index.php/"];

                Gruß

                Axel