tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
13
ZUGRIFFE
749
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Avatar von Gaius
    Gaius Gaius ist offline Mitglied Bronze
    Registriert seit
    Jun 2002
    Ort
    Internet
    Beiträge
    49
    Hallo,

    es gibt 2 kleine Problemchen ,eher nicht wissen wies geht zustände ,die zu beseitigen sind.
    1. var test = new Array("hallo","du","da");
    document.all.(test[2]).innerHTML=.....
    <div id="da">blub</div>
    so wies darüber ist sollte es aussehen ,allerdings habe ich keinen blassen schimmers wies geht -m ich denk ma ihr versteht was ich meine mit dme da oben.

    2. ich kann in einer funtion kein innerhtml irgendeiner id zuweisen. muss ich dan irgendwas mit global oder so machen?

    hilfe wäre toll.


    [edit]
    zu 1. ein beispiel:
    <script language="javascript">
    <!--
    var test = new Array("hans");
    document.all.(test[0]).innerHTML="hg";
    //-->
    </script>

    <div name="hans">Hallo</div>

    zu2 ein beispiel:
    <script language="javascript">
    <!--
    var test = new Array("hans");
    function make(s)
    {
    document.all.hans.innerHTML="hg";
    }
    //-->
    </script>

    <div name="hans">Hallo</div><br><a href="javascript:make(0)">blub</a>
    Geändert von Gaius (15.09.03 um 16:15 Uhr)
     
    Curby|www.unimatrix-clan.de

  2. #2
    rootssw rootssw ist offline Mitglied Platin
    Registriert seit
    Aug 2003
    Beiträge
    593
    Ich weiss jetzt nicht, ob ich wirklich das gemacht hab', was du haben wolltest:

    1.:
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    
    <HTML>
    <script language="javascript">
    <!--
    var test = new Array("hans");
    function make(s)
    {
    document.getElementById('hans').innerHTML="hg";
    }
    //-->
    </script>
     
    <div id="hans">Hallo</div><br><a href="javascript:make(0)">blub</a>
    </Body>
    </HTML>



    2.:

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    
    <HTML><Body>
    <div id="hans">Hallo</div>
    <script language="javascript">
    <!--
    var test = new Array("hans");
    document.getElementById('hans').innerHTML="hg";
    //-->
    </script>
    </Body>
    </HTML>
     
    <?php if ($sein || !$sein) echo "Das ist hier die Frage."; ?>

  3. #3
    Avatar von Gaius
    Gaius Gaius ist offline Mitglied Bronze
    Registriert seit
    Jun 2002
    Ort
    Internet
    Beiträge
    49
    ok nu hat sich grad n neues problem aufgetan

    var menus = new Array("Godlike","Curby","Tim","Hans");
    var godlike = new Array("test","test1","test","test3");

    nun will ich dass er aus array godlike den wert [0] rauslädt mit hilfe des ersten arrys ,a la:

    (menus[0])[0]

    hoffentlich verständlich ,das prob
     
    Curby|www.unimatrix-clan.de

  4. #4
    rootssw rootssw ist offline Mitglied Platin
    Registriert seit
    Aug 2003
    Beiträge
    593
    var menus = new Array("Godlike","Curby","Tim","Hans");
    var godlike = new Array("test","test1","test","test3");



    Ich denke, du möchtest die Arrays verschachteln?!
    Das ginge folgendermaßen:

    Code :
    1
    2
    
    var Godlike = new Array ("test", "test1", "test", "test3");
    var menu = new Array(Godlike, "Curby","Tim","Hans");

    Wenn man dann
    Code :
    1
    
    document.getElementById('hans').innerHTML=menu[0][1];
    aufruft, wird

    <DIV ID="hans">test1</DIV>
    ausgegeben.
     
    <?php if ($sein || !$sein) echo "Das ist hier die Frage."; ?>

  5. #5
    Avatar von Gaius
    Gaius Gaius ist offline Mitglied Bronze
    Registriert seit
    Jun 2002
    Ort
    Internet
    Beiträge
    49
    genau das ,aber bei z.b.
    <HTML>
    <body>


    <script language="javascript">
    <!--
    var menus = new Array("Godlike","Curby","Tim","Hans");
    var godlike = new Array("test","test1","test","test3");
    var hallo = menus[0][1];

    alert(hallo);

    //-->
    </script>

    </body></html>

    bekomm ich nur im alert ein "unefinied".....
     
    Curby|www.unimatrix-clan.de

  6. #6
    Avatar von Gaius
    Gaius Gaius ist offline Mitglied Bronze
    Registriert seit
    Jun 2002
    Ort
    Internet
    Beiträge
    49
    okay danke leute ,funktioniert alles soweit.

    weiteres problem #

    var menus = new Array("Godlike","Curby","Tim","Hans");
    var Godlike = new Array("test","test1","test","test3");

    wie kann ich jetzt die anzahl der elemente des arrays Godlike ermiiteln über menus[0] ?
     
    Curby|www.unimatrix-clan.de

  7. #7
    Avatar von Sven Mintel
    Sven Mintel Sven Mintel ist offline Mitglied
    Registriert seit
    Aug 2003
    Beiträge
    18.238
    Blog-Einträge
    6
    Das geht mit
    Code :
    1
    
    Godlike.length
     

  8. #8
    rootssw rootssw ist offline Mitglied Platin
    Registriert seit
    Aug 2003
    Beiträge
    593
    Falls noch mehr unklar sein sollte, schau doch mal hier:
    http://www.selfhtml.com.ar/selfhtml7/tecc.htm
     
    <?php if ($sein || !$sein) echo "Das ist hier die Frage."; ?>

  9. #9
    Avatar von Gaius
    Gaius Gaius ist offline Mitglied Bronze
    Registriert seit
    Jun 2002
    Ort
    Internet
    Beiträge
    49
    dass das so geht ist mir klar...
    ....nur ich will ,dass der den namen des arrays (godlike) ,aus dem er die anzahl auszählen soll aus einem anderen array (menus[0]) nehmen soll ,ist nämlich ein multifunktionales script ,ich gebe da n paar bestimtm arrays ein und daraus bastelt der sich die sachen zusammen
     
    Curby|www.unimatrix-clan.de

  10. #10
    rootssw rootssw ist offline Mitglied Platin
    Registriert seit
    Aug 2003
    Beiträge
    593
    Liege ich richtig, wenn ich annehme, dass du die Arrays assoziativ machen willst?
    Dann kannst du nämlich statt die Nummer des Arrays den Namen eingeben.
    Dieses sähe dann nämlich so aus:

    Code :
    1
    2
    3
    4
    5
    6
    7
    
    <HTML><Body><Script Language="javascript">
    menu = new Array();
    menu.godlike = "Hallo! ";
    menu.goodlike = "Wie geht's?";
    window.document.write (menu.godlike);
    window.document.write (menu.goodlike);
    </Script></Body></HTML>

    Ausgabe:

    Hallo! Wie geht's?
    Ich hoffe, ich hab's richtig kapiert.
     
    <?php if ($sein || !$sein) echo "Das ist hier die Frage."; ?>

  11. #11
    Avatar von Gaius
    Gaius Gaius ist offline Mitglied Bronze
    Registriert seit
    Jun 2002
    Ort
    Internet
    Beiträge
    49
    nunja...geht...aber noch nicht richtig ,habe nur ne andere methode verwendet ,hierbei in meinen augen alles richtign gecodet ,aber er will einfach nicht aus menus[s][0] so den weret auslesen ,testet selbst:

    (Anmerkung: ihr müsst des script nicht vom sinn her verstehen ,ihr msolltest mir nur sagen können ,warum der menus[s][0] nicht ausliest)

    PHP-Code:
     var menus = new Array("Godlike","Curby","Tim","Hans");
     var 
    Godlike = new Array("4","test","test1","test","test3","#","#","#","#");
     var 
    Curby = new Array("4","test","test1","test","test3","#","#","#","#");
     var 
    Tim = new Array("4","test","test1","test","test3","#","#","#","#");
     var 
    Hans = new Array("4","test","test1","test","test3","#","#","#","#");
     
    last=-1;

     
    document.write('<table cellspacing="3" cellpadding="0" width="100" height="1" style="border:1px solid black"><tr><td align="center"><font id="menuover">Menu</font></td></tr>');

     function 
    ms_open(s)
     {
      
    x=0;
      while(
    x<=(menus.length)-1)
      {
      
    document.getElementById(menus[x]).innerHTML="<font id=\"menuover\"><a href=\"javascript:ms_open(" ")\">" menus[x] + "</a>";
      
    x++;
      }

      if(
    last==s){last=-1;}
      else
      {
       
    document.getElementById(menus[s]).innerHTML='<font id="menuover"><a href="javascript:ms_open(' ')">' menus[s] + '</a>' "<br>";
       
    x=1;
       
    y=menus[s][0];
       
    alert(menus[s][0]);
       while(
    x<=menus[s][0])
       {
        
    document.getElementById(menus[s]).innerHTML = [document.getElementById(menus[s]).innerHTML] + '&nbsp;&nbsp;&nbsp;<font id="menu"><a href="' menus[s][x+y] + '">' menus[s][x] + "</a><br>";
        
    x++;
       }
       
    last=s;
      }
     }

     
    x=0;
     while(
    x<=menus.length-1)
     {
      
    document.write('<tr><td><div id="' menus[x] + '"><font id="menuover"><a href="javascript:ms_open(' ')">' menus[x] + '</a></div></td></tr>');
      
    x++;
     }

     
    document.write('</table>'); 
    Geändert von Gaius (15.09.03 um 20:32 Uhr)
     
    Curby|www.unimatrix-clan.de

  12. #12
    Avatar von Sven Mintel
    Sven Mintel Sven Mintel ist offline Mitglied
    Registriert seit
    Aug 2003
    Beiträge
    18.238
    Blog-Einträge
    6
    Das liegt daran,dass menus[s][0] nicht existiert.
    Der menus-Array ist ein eindimensionaler Array und enthält vier Wörter....mehr nicht.
    Nur weil die Wörter innerhalb des menus-Array identisch mit den Namen der anderen Arrays sind,haben sie noch nicht
    miteinander zu tun:

    Für dein Vorhaben brauchst du einen 2-dimensionalen Array....
    probiers mal so...das müsste so annähernd dem von dir Beabsichtigten entsprechen
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    
    <script type="text/javascript">
    <!--
    menus = new Array();
    menus['Godlike']    = new Array("4","test","test1","test","test3","#","#","#","#");
    menus['Curby']  = new Array("4","test","test1","test","test3","#","#","#","#");
    menus['Tim']    = new Array("4","test","test1","test","test3","#","#","#","#");
    menus['Hans']   = new Array("4","test","test1","test","test3","#","#","#","#");
    last=false;
    function ms_open(s)
    {
    if(!document.getElementById){return;}
     
    for(var aK in menus)
      {
      document.getElementById(aK).innerHTML=
        '<font id="menuover"><a href="javascript:ms_open(\''+aK+'\')">'+aK+'</a>';
      }
    if(last==s){last=false;return;}
     
    for(x=1;x<=menus[s][0];++x)
       {
       document.getElementById(s).innerHTML=
        document.getElementById(s).innerHTML+
        '<br>&nbsp;&nbsp;&nbsp;<font id="menu"><a href="'
        + menus[s][menus[s][0]] + '">' + menus[s][x] + '</a>';
       }
    last=s;
     }
     
    document.write('<table cellspacing="3" cellpadding="0" width="100" height="1" style="border:1px solid black">');
    document.write('<tr><td align="center"><font id="menuover">Menu</font></td></tr>');
     for(var aK in menus)
     {
      document.write('<tr><td><div id="'+aK+'"><font id="menuover">');
      document.write('<a href="javascript:ms_open(\''+aK+'\')">' + aK+ '</a></div></td></tr>');
     }
     document.write('</table>');
     //-->
     </script>
     

  13. #13
    rootssw rootssw ist offline Mitglied Platin
    Registriert seit
    Aug 2003
    Beiträge
    593
    Ich hab' mir das Script mal näher angeschaut und etwas umgeschrieben.
    Deswegen erstmal ein paar Hinweise:

    Du hast die Namen der Unter-Arrays im menu-Array in Anführungsstrichen geschrieben.
    Diese muss man aber weg lassen. Sonst erkennt der nur den String "Godlikes".

    Zudem:
    Wenn du so etwas wie

    alert(menus[s][0]);

    eingibst, gibt der nicht den Namen des Arrays, sondern den gesamten Inhalt des Objektes aus (also z. B.: "4testtest1testtest3####").
    Deswegen habe ich (als hastige Notlösung) ein weiteres Array-Element erstellt, in dem der Name des Menüpunktes steht.

    Die Schleife

    x=0;
    while(x<=(menus.length)-1)
    {x++;

    solltest man auch besser so schreiben:

    for (x=0;x<=(menus.length)-1;x++)

    Ich hab' das mal auf die Schnelle so gemacht, wie ich denke, dass du es dir so vorstellst.
    Das ist aber noch sehr unsauber programmiert. Da müsstest noch einiges ändern (dient ja auch nur der Veranschaulichung ).

    Das Resultat sieht dann so aus:

    http://www.nasicunion.de/tutor/menu.html

    Das Script sieht dann folgendermaßen aus:

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    
    <html><Body><Script Language="javascript">
     
     
     var Godlike_Name = "Godlike";
     var Godlike_Inhalt = new Array("4","test","test1","test","test3","#","#","#","#");
     var Godlike = new Array(Godlike_Name, Godlike_Inhalt);
     
     var C_Name = "Curby";
     var C_Inhalt = new Array("4","test","test1","test","test3","#","#","#","#");
     var Curby = new Array(C_Name, C_Inhalt);
     
     var T_Name = "Tim";
     var T_Inhalt = new Array("4","test","test1","test","test3","#","#","#","#");
     var Tim = new Array(T_Name, T_Inhalt);
     
     var H_Name = "Hans";
     var H_Inhalt = new Array("4","test","test1","test","test3","#","#","#","#"); 
     var Hans = new Array(H_Name, H_Inhalt);
     
     var menus = new Array(Godlike,Curby,Tim,Hans);
     var last = -1;
     
     document.write('<table cellspacing="3" cellpadding="0" width="100" height="1" style="border:1px solid black"><tr><td align="center"><font id="menuover">Menu</font></td></tr>');
     
    function ms_open(MenuID) {
        for(x=0;x<=menus.length-1;x++) {
            document.getElementById(menus[x][0]).innerHTML = '<font id="menuover"><a href="javascript:ms_open(' + x + ')">' + menus[x][0] + '</a></Font>';
        }
      if(last==MenuID){last=-1;}
      else {
         a=document.getElementById(menus[MenuID][0]).innerHTML='<font id="menuover"><a href="javascript:ms_open(' + MenuID + ')">' + menus[MenuID][0] + '</a>' + "<br>";
     
     
        for (i=0; i <= menus[MenuID][1].length; i++) {
            if (a == "") {
            a = '&nbsp;&nbsp;&nbsp;<Font ID="menuover"><A HRef="' + menus[MenuID][1][i] + '">'+menus[MenuID][1][i]+'</A></Font><BR>';
            }
            else {
            a += '&nbsp;&nbsp;&nbsp;<Font ID="menuover"><A HRef="' + menus[MenuID][1][i] + '">'+menus[MenuID][1][i]+'</A></Font><BR>';
            }
        }
        document.getElementById(menus[MenuID][0]).innerHTML = a;
        last=MenuID;
        }
    }
     
     for(x=0;x<=menus.length-1;x++)
     {
      document.write('<tr><td><div ID="' + menus[x][0] + '"><font id="menuover"><a href="javascript:ms_open(' + x + ')">' + menus[x][0] + '</a></Font></div></td></tr>');
     }
    document.write('</table>');
    </script></Body></HTML>
    Das häng' ich aber auch noch an.
    Ich hoffe, das ist jetzt so, wie du es dir dachtest
    Angehängte Dateien Angehängte Dateien
    Geändert von rootssw (16.09.03 um 02:18 Uhr)
     
    <?php if ($sein || !$sein) echo "Das ist hier die Frage."; ?>

  14. #14
    Avatar von Gaius
    Gaius Gaius ist offline Mitglied Bronze
    Registriert seit
    Jun 2002
    Ort
    Internet
    Beiträge
    49
    ok ,danke leuite hat alles geklappt ,habe nun aber keins der scripte übernommen ,sondern alle angeschaut und meins so hin geändert ,dass es funktioniert

    http://212.227.226.42/test.html

    fall es wen intressiert:
    http://212.227.226.42/menu.js
     
    Curby|www.unimatrix-clan.de

Ähnliche Themen

  1. Div ins innerHTML
    Von Udem im Forum Javascript & Ajax
    Antworten: 4
    Letzter Beitrag: 07.01.10, 05:13
  2. Antworten: 4
    Letzter Beitrag: 14.11.07, 07:54
  3. Mit function prüfen ob function == true
    Von Sebigf im Forum Javascript & Ajax
    Antworten: 1
    Letzter Beitrag: 12.05.06, 14:25
  4. innerHTML und
    Von speicher im Forum Javascript & Ajax
    Antworten: 4
    Letzter Beitrag: 20.12.05, 14:15
  5. unterschied zwischen function x() und x = function()
    Von timäää im Forum Flash Plattform
    Antworten: 4
    Letzter Beitrag: 18.09.05, 09:14