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