ERLEDIGT
NEIN
NEIN
ANTWORTEN
13
13
ZUGRIFFE
749
749
EMPFEHLEN
-
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
-
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."; ?>
-
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
-
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
aufruft, wirdCode :1
document.getElementById('hans').innerHTML=menu[0][1];
ausgegeben.<DIV ID="hans">test1</DIV><?php if ($sein || !$sein) echo "Das ist hier die Frage."; ?>
-
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
-
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
-
Das geht mit
Code :1
Godlike.length
-
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."; ?>
-
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 zusammenCurby|www.unimatrix-clan.de
-
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:
Ich hoffe, ich hab's richtig kapiert.Hallo! Wie geht's?
<?php if ($sein || !$sein) echo "Das ist hier die Frage."; ?>
-
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(" + x + ")\">" + menus[x] + "</a>";
x++;
}
if(last==s){last=-1;}
else
{
document.getElementById(menus[s]).innerHTML='<font id="menuover"><a href="javascript:ms_open(' + s + ')">' + 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] + ' <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(' + x + ')">' + 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
-
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> <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>
-
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:
Das häng' ich aber auch noch an.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 = ' <Font ID="menuover"><A HRef="' + menus[MenuID][1][i] + '">'+menus[MenuID][1][i]+'</A></Font><BR>'; } else { a += ' <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>
Ich hoffe, das ist jetzt so, wie du es dir dachtestGeändert von rootssw (16.09.03 um 02:18 Uhr)
<?php if ($sein || !$sein) echo "Das ist hier die Frage."; ?>
-
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.jsCurby|www.unimatrix-clan.de
Ähnliche Themen
-
Div ins innerHTML
Von Udem im Forum Javascript & AjaxAntworten: 4Letzter Beitrag: 07.01.10, 05:13 -
PHP: Function führt function aus, wenn Bedingung erfüllt ist
Von Der_baum im Forum PHPAntworten: 4Letzter Beitrag: 14.11.07, 07:54 -
Mit function prüfen ob function == true
Von Sebigf im Forum Javascript & AjaxAntworten: 1Letzter Beitrag: 12.05.06, 14:25 -
innerHTML und
Von speicher im Forum Javascript & AjaxAntworten: 4Letzter Beitrag: 20.12.05, 14:15 -
unterschied zwischen function x() und x = function()
Von timäää im Forum Flash PlattformAntworten: 4Letzter Beitrag: 18.09.05, 09:14





Zitieren
Login





