Funktion - dringlichst Denkhilfe erbeten
Alex
- javascript
0 Schorsch0 alex0 Andreas-Lindig0 alex
Hallo, ich bin ein Neuling in Sachen JavaScript, und bräuchte mal einen Tip bzw ausgiebige Hilfe. Nun hat mir ein Bekannter dieses Script zur Verfügung gestellt, es funktioniert auch ganz prima - aber ich möchte es weiterentwickeln, und zwar:
Das nach der ersten Abfrage, sollte das "Ergebnis" "Richtig" sein, der Tabelleneintrag aus dem array entfernt werden und in ein neues array eingefügt werden. Der Gedanke dahinter ist quasi ein Karteikasten -Lernen, wie wir das Alle von früher aus der Schule kennen. Da ich zwar relativ gute HTML Kentnisse, aber ich weiss nicht, wie ich diese if / else / document.write Sache genau umsetzten kann ( das wäre so mein Ansatz )
Kann mit jemand helfen? Das wäre superlieb.
Hier folgt das bestehende Script - komplett , sorry für die Menge,aber ich weiss noch nicht welches der entscheidende Teil wäre. Habe den grössten Teil der arrays hier rausgelöscht, da es wohl etwas zuviel ist :-)
<HTML>
<HEAD> <TITLE>Lernen macht Spaß!!! Title</TITLE> <style type="text/css"> #vokliste{position:absolute; left:10%; top:100;width:1200; height:1000; clip:rect(0,1200,1200,0);visibility:hidden } #infobox{position:absolute; left:110; top:300;width:300; height:250; clip:rect(0,300,250,0); }
</style> <script language="JavaScript"> <!--
//------------------------------Browsererkennung
ie=(document.all)?1:0 ns=(document.layers)?1:0 v4=(ie||ns)
//------------------------------Rechtsklick abschalten
var note="nicht schummeln"; function clickStop(e) { if (!ie) { if (e.which == 3) { alert(note);return false; } } if (ie) { if (event.button == 6) { alert(note);return false; } } } if (ns) { document.captureEvents(Event.MOUSEDOWN); } document.onmousedown=clickStop;
//------------------------------20 Felder mit Vokabeln vok1=new Array( "abhängige Variable,Charakteristikum des Verhaltens oder der Leistung in einem Test", "Abhängigkeit,unnatürliches Verlangen nach Drogen oder Alkohol mit Kontrollverlust", "Abwehrmechanismen,Verdrängung;Verleugnung;Projektion;Identifikation;Regression;Verschiebung;Rationalisierung;Sublimierung;Isolierung;etc", "Abwehrmechanimus,nach Freud sind dies unbewusste Strategien;die das Ich dazu benutzt um Angst vorzubeugen", "Affekte,kurze;umschriebene Gefühlsabläufe", "Affektinkontinenz,fehlende Beherrschung von Affektäußerungen", "affektive Psychose,psychotische Erkrankung mit Störung der Affektivität; die sich entweder in einer Manie oder einer endogenen Depression ausdrücken kann", "affektive Störung,psychotische Reaktionen;die durchübertriebene Gefühlszustände gekennzeichnet sind", "Affektivität,Gefühlsleben;Emotionalität;Gemüt", "Affektivitätsstörung,Störung von Stimmungen und Gefühlen mit abnormen Affekten", "Affektverflachung,mangelnde Ansprechbarkeit eines Gefühles", "Akathisie,Sitzunruhe", "Akinese,Bewegungslosigkeit", "Akommodation,nach Piaget eine Änderung der Denkstruktur; die dazu dient sich den Anforderungen neuer Informationen anzupassen", "Aktionspotential,Nervensignal;elektr Impuls", "akute Belastungsreaktion,vorrübergehende Störung von beträchtlichem Schweregrad; die sich aufgrund außergewöhnlicher körperlicher oder seelischer Belastung entwickelt ", "akute Intoxikation,vorrübergehender Zustand nach einer übermäßigen Dosis von Drogen oder Alkohol mit körperlichen und psychischen Störungen", "Algorithmus,Methode des Problemlösens; bei der eine einzige Operation so lange wiederholt wird, bis sich eine Lösung gefunden hat", "Alkoholhalluzinose,Paranoid-halluzinatorische Psychose", "alkoholischer Eifersuchtswahn,Wahnentwicklung; durch Impootenz und Ablehnung des Partners", "Alpha-Wellen,Gehirnwellen in einem Zustand entspannter Wachheit", "Alzheimersche Erkrankung,Demenz; die aufgrund einer Neuronendegenration auftritt", "Ambivalenz,Koexistenz gegensätzlicher Gefühle", "Amnesie,Gedächtnisverlust;Erinnerungslosigkeit", "Amphetamine,Medikmente; die den Kortex anregen und auf Erwachsene stimulierend wirken; auf hyperaktive Kinder jedoch einen Beruhigungseffekt haben")
//-----------------------------RETURN-Taste Event-Capture (inaktiviert, Fehler mit IE)
//window.onkeypress= taste; //if (v4) //{if (ns) document.captureEvents(Event.KEYDOWN) //document.onkeydown= taste;}
//function taste(e) //{if (ns) { //code=e.which; //if (code==132) loesende()} //if (ie) { //code=event.keyCode //if (code==13) loesende()}}
//-------------------------------Variablen
zaehler=0; anzahl=25; lektion=new Array(25) nr=0;richtig=0;falsch=0;loesen=false;neue=true
//--------------------------------Aufbau und Anzeige der Vokabelliste
function liste() {nr=0;richtig=0;falsch=0 if (ns) { document.vokliste.document.open(); document.vokliste.document.write("<center><table cellpadding=0 width=100% border=0 bgcolor='lightgrey'><td><BASEFONT SIZE=1>") for (zaehler=0; zaehler<anzahl; zaehler++){text=lektion[zaehler]+"<BR>"; document.vokliste.document.write(text)} document.vokliste.document.write("</table></center>") document.vokliste.document.close();return}
if (ie) {textall=""; for (zaehler=0; zaehler<anzahl; zaehler++) {text=lektion[zaehler]+"<BR>";textall=textall+text} document.all["vokliste"].innerHTML="<center><table cellpadding=8 width=100% border=1 bgcolor='pink'><td><BASEFONT SIZE=2>"+textall+"</table></center>";return }
textall=""; for (zaehler=0; zaehler<anzahl; zaehler++) {text=lektion[zaehler]+"<BR>";textall=textall+text} document.getElementById("vokliste").innerHTML="<center><table cellpadding=8 width=100% border=1 bgcolor='beige'><td><BASEFONT SIZE=2>"+textall+"</table></center>" }
//--------------------------------Vokabelliste sichtbar
function listean() {if (ns) {document.layers["vokliste"].visibility = "show";return} if (ie) {document.all["vokliste"].style.visibility = "visible";return} document.getElementById("vokliste").style.visibility="visible" }
//--------------------------------Vokabelliste nicht sichtbar
function listeaus() { if (ns) {document.layers["vokliste"].visibility = "hide";return} if (ie) {document.all["vokliste"].style.visibility = "hidden";return} document.getElementById("vokliste").style.visibility="hidden" }
//--------------------------------Neue Vokabel ins Sichtfenster holen
function uebende() {if (neue==false) return text="";zeigeinfo() if (nr>24){bewertung(); text="Alle "+nr+" Vokabeln wurden abgefragt."; text=text+"<HR>Richtige: "+richtig+"<BR>Falsche: "+falsch+"<BR>von bisher "+(richtig+falsch)+" Vokabeln.<hr>Wenn du neue Vokabeln üben willst, <BR>wähle eine andere Lektion aus.";zeigeinfo();nr=0;richtig=0;falsch=0;return} deu=lektion[nr]; eng=deu.substring(0,deu.indexOf(",")) deu=deu.substring(deu.indexOf(",")+1,deu.length) document.form1.deutsch.value=deu document.form1.englisch.value="";document.form1.englisch.focus() nr++;loesen=true;neue=false }
//--------------------------------geschriebene Vokabel überprüfen
function loesende() { if (loesen==false) return if (eng==document.form1.englisch.value) { richtig++;text="<FONT SIZE=4>richtig!</FONT>"} else {falsch++;text="falsch. <BR>Richtig ist: <BR>"+eng}; text=text+"<HR>Richtige: "+richtig+"<BR>Falsche: "+falsch+"<BR>von bisher "+(richtig+falsch)+" Vokabeln" zeigeinfo();loesen=false;neue=true}
//---------------------------------Hilfsfunktion Text in Infobox zeigen
function zeigeinfo() { if (ns) { document.infobox.document.open(); document.infobox.document.write("<center><table cellpadding=8 width=100% border=1 bgcolor='gold'><td>"+text+"</table></center>") document.infobox.document.close();return}
if (ie) { document.all["infobox"].innerHTML="<center><table cellpadding=8 width=100% border=1 bgcolor='gold'><td>"+text+"</table></center>";return } document.getElementById("infobox").innerHTML="<center><table cellpadding=8 width=100% border=1 bgcolor='gold'><td>"+text+"</table></center>" }
function bewertung() { prozent=Math.round(richtig/(richtig+falsch)*100) text="Richtige: "+richtig+"\nFalsche: "+falsch+"\nvon insgesamt "+(richtig+falsch) if (prozent>=92) {alert(text+"\nPrima!!! Eine Meisterleistung!\nNote 1");return } if (prozent>=81) {alert(text+"\ngute Leistung!!Weiter so!\nNote 2");return } if (prozent>=67) {alert(text+"\nDu kannst zufrieden sein.\nNote 3");return } if (prozent>=50) {alert(text+"\nDie Leistung ist ausreichend.\nNote 4");return } if (prozent>=30) {alert(text+"\nschlechte Leistung; Du musst mehr üben!\nNote 5");return } if (prozent<30) {alert(text+"\nÜngenügend!!! Das war wohl nichts!\nNote 6");return } } //--></script> </HEAD>
<BODY bgcolor="lightgreen" onLoad="liste()"> <CENTER><H2><FONT COLOR="black">Fachexperte (Definitionen)</FONT></H2> <FORM name="form1"> <INPUT TYPE="button" VALUE="Liste einblenden" onClick="listean()"> <INPUT TYPE="button" VALUE="Liste ausblenden" onClick="listeaus()"> <HR> <script language="JavaScript"> <!-- for (i=1;i<=25;i++) {document.write("<INPUT TYPE="button" VALUE="Lektion "+i+"" onClick="lektion=vok"+i+";liste()">") } //--></script> <hr></CENTER> <INPUT TYPE="button" VALUE="neue Definition" onClick="uebende()"> <INPUT TYPE="button" VALUE="Lösung prüfen" onClick="loesende()"> <INPUT TYPE="button" VALUE="Bewertung" onClick="bewertung()"> <p> <INPUT NAME="deutsch" size=250 TYPE="text" onFocus="document.form1.deutsch.blur()"><BR> <INPUT NAME="englisch" size=250 TYPE="text" onChange="loesende()"> </FORM> <div id="vokliste"></div> <div id="infobox"></div>
</FONT></BODY>
</HTML>
Ach so, es muss übrigens nicht online laufen, sondern nur offline, da es als Lernprogramm für meine Handheld gedacht ist. Vielen Dank für Eure Mühe und Aufmerksamkeit im Voraus Alex
Ciau
sorry für die Menge,aber ich weiss noch nicht welches der >>entscheidende Teil wäre.
Du verlangst, dass wir für dich in einem Haufen Code herausfinden, welches für dich der entscheidende Teil ist...
Dies kannst du auch selber herausfinden: Snippe Code weg (einzelne Zeichen, ZEilen... füge sie wieder an, snippe an anderen Orten..) und schau, was anschliessend passiert. Nach Stunden, Tagen vielleicht, findest du plötzlich heraus, wo der entscheidende Teil ist.
Viel spass!
Schorsch
Lieber Schorsch,
ich verlange gar nichts - ich bat um Hilfe...
Hintergrund dieser, zugegebenen (Un-)Menge ist, dass ich hier im Forum öfters gelesen habe, dass Jemand zuwenig oder nicht den richtigen Ausschnitt eingefügt hatte, wie gesagt, ich bin ein Beginner.
Aber, Du hättest die enrgie, die Du auf diese hochwertig hilfreiche Antwort verwandt hast, sicherlich besser nutzen können.
Schliesslich hättest Du diesen Beitrag einfach schliessen können, wenn Dir das zu umfangreich war :-)
Alles Gute für Dich
Alex
Hallo Alex,
Schliesslich hättest Du diesen Beitrag einfach schliessen können, wenn Dir das zu umfangreich war :-)
aber dann hättest Du vielleicht nicht gewußt, warum Du keine Antwort bekommst. Also freu' dich, daß du mit seinem Hinweis jetzt etwas professioneller an Deine Arbeit gehen kannst.
Gruß, Andreas
Danke, Andreas
aber, da ich so wie so schon wie ein Idiot davor sitze war dieser Kommentar nu auch nicht hilfreich - und vor allen Dingen so motivierend.
Schön wäre gewesen mir mal zu sagen worauf es ankommt :
Funktionen?
neue Variablen deklarieren?
Oder hätte ich ganz konkret schreiben sollen: Wie übergebe ich ein array nach der if / else auswertung weiter?
Kann ich da nich eine weitere if/else Schleife dranhängen?
Es ist so schön, soviel Mut gemacht zu bekommen :-)))
alex
Danke, Andreas
bitte!
aber, da ich so wie so schon wie ein Idiot davor sitze war dieser Kommentar nu auch nicht hilfreich - und vor allen Dingen so motivierend.
Schön wäre gewesen mir mal zu sagen worauf es ankommt :
auf das, was Schorsch schon schrieb: erstmal SUCHEN. Teile kopieren, löschen, Ausgaben von Teilen überprüfen usw. Ich bin schon oft auf die Lösung gestoßen, während ich versucht habe, mein Problem für eine Frage hier genau einzugrenzen und eben genau die oben beschriebenen Vorgänge gemacht habe. Diese Mühe hätten jetzt die Leute, die Dein Programm analysieren sollen. Hättest Du da Bock drauf?
Gruß, Andreas