Griever: Elemente dynamisch verarbeiten - Geht das auch kürzer?

Beitrag lesen

1. - Um mal alles aus den Weg zu räumen im Bezug auf "woher kommt denn ..." und "was ist denn ..."

»» Kathegorieauswahl.splice(t.xds,1);

da t.xds nicht immer 0 ist. Ich möchte ein bestimmtes Element aus dem Array löschen. Dabei wird es dynamisch gesucht. Habe mir extra diese Funktion ausgesucht.

Ich möchte weder nur das erste "shift()" oder das letzte pop() entfernen.

Hier nochmal der komplette Code:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>LEARNmania von Sebastian Schieß</title>
<script language="JavaScript">

  
  
// Headerfunktionen. Dienen dazu, einstellungen zu übernehmen und zu  
// speichern (cookie)  
  
var cooc = document.cookie;  
cooc=cooc.split("-#*#-");  
function savePoint(pos,wert) {  
 var string = document.cookie;  
 string=string.split("-#*#-");  
 string[pos]=wert;  
 var St="";  
 for(var i=0;i<9;i++)  
 {  
   if(i!=0)  
   {  
     if(string[i])  
     St+="-#*#-"+string[i];  
     else  
     {  
       if(i==1)  
       {  
         St+="-#*#-1"  
       }  
       else  
       {  
         St+="-#*#-0"  
       }  
     }  
   }  
   else  
   {  
     St+=string[i];  
   }  
 }  
 document.cookie="";  
 document.cookie=St;  
 delete St;  
 cooc = document.cookie;  
 cooc=cooc.split("-#*#-");  
}  
var cssstyle = "default.css"  
var defaultOptions = "default.css-#*#-1-#*#-0-#*#-0-#*#-0-#*#-0-#*#-0-#*#-0-#*#-0";  
if(document.cookie)  
{  
  var string = document.cookie;  
  string=string.split("-#*#-");  
  cssstyle=(string[0])?""+string[0]:"default.css";  
}  
function saveCSSandReload(msg) {  
 var string=document.cookie;  
 string=string.split("-#*#-");  
 string[0]=document.getElementById("Design").value;  
 if(msg==true)  
 alert("Neues Anzeigedesign gespeichert.\nSollten Sie das Programm verlassen, werden die Einstellungen wieder verworfen.")  
 var St="";  
 for(var i=0;i<9;i++)  
 {  
   if(i!=0)  
   {  
     if(string[i])  
     St+="-#*#-"+string[i];  
     else  
     {  
       if(i==1)  
       {  
         St+="-#*#-1"  
       }  
       else  
       {  
         St+="-#*#-0"  
       }  
     }  
   }  
   else  
   {  
     St+=string[i];  
   }  
 }  
 document.cookie="";  
 document.cookie=St;  
 delete St;  
 delete string;  
 window.location.reload();  
}  
document.write('<link rel="stylesheet" lang="de" href="styles/st.css" src="styles/st.css"></link>')  
document.write('<link rel="stylesheet" lang="de" href="styles/'+cssstyle+'" src="styles/'+cssstyle+'"></link>')  
  
// Ende Headerfunktionen  
  

</script>
<style>

  
a {color:white;}  

</style>
</head>
<body>
<div align=center>
<script language="JavaScript" src="questionslibarys/all.js"></script>
<script language="JavaScript">
<!--

  
var links = 0  
var linksmax = 0  
for(var i in qlist)  
{  
  links++;  
  linksmax++;  
  document.write("<input type='checkbox' onClick='if(this.checked==true){captit(\""+i+"\",this)} else {recaptit(\""+i+"\",this)}'>"+i+" mit "+qlist[i].length+" Fragen</input><br>")  
}  

-->
</script>
</div>
<script language="JavaScript" src="includes/menuescript.js"></script>
<script language="JavaScript">
<!--

  
var Kathegorieauswahl = new Array();  
function recaptit(x,t) {  
 Kathegorieauswahl.splice(t.xds,1);  
 t.style.color='#ffffff'  
 links++  
 if(links != linksmax)  
 document.getElementById("ACTION").disabled = false;  
 else  
 document.getElementById("ACTION").disabled = true;  
}  
function captit(x,t)  
{  
  Kathegorieauswahl[Kathegorieauswahl.length] = x  
  links--;  
  if(links != linksmax)  
  document.getElementById("ACTION").disabled = false;  
  else  
  document.getElementById("ACTION").disabled = true;  
  if(links==0)  
  {  
    document.getElementById("ACTION").disabled = true;  
    start()  
  }  
  else  
  {  
    t.xds = Kathegorieauswahl.length-1  
    t.style.color='#333333'  
  }  
}  
function start() {  
    var top = (screen.height/2) - 200  
    var left= (screen.width/2) - 300  
    var f = window.open("Logs/index.html?"+Kathegorieauswahl+"","Quiz","width=600,height=400,top="+top+",left="+left+"")  
    window.blur()  
    window.history.go(-1)  
    f.focus();  
}  
var aobj=document.getElementsByTagName("A")  
for(var i in aobj)  
{  
  aobj[i].onfocus=new Function("this.blur()")  
}  

-->
</script>
<br><br>
<input value="Quiz starten" style="border:2px outset;text-align:center;" disabled id="ACTION" onClick="start()"></input>
</body>
</html>

Und um die Frage von all.js abzufangen - Hier die datei all.js (zu groß, um alles Anzuzeigen ...):

  
var qlist=new Array(),aktuelleKat,a_Frage= 0;  
function Kathegorie(x) {qlist[x]=new Array();aktuelleKat=x}  
function Frage(x) {a_Frage= qlist[aktuelleKat].length;qlist[aktuelleKat][a_Frage]=new Array();qlist[aktuelleKat][a_Frage][0]=x}  
function Antwort(x) {qlist[aktuelleKat][a_Frage][qlist[aktuelleKat][a_Frage].length]=x}  
  
//  
//  --------------------   Anleitung   --------------------  
//  
//  
// um neue Fragen einzufügen, müssen entweder die Fragen in die Blöcke eingefügt werden:  
//  
// Kathegorie("Fragen über Programme")  
//    Frage("Was ist das?")  
//       Antwort("Ein Computer.")  
//       Antwort("Eine Tastatur.")  
//       Antwort("Eine Maus.")  
//       Antwort("Ein Drucker.")  
//  
// oder es muss eine neue Kathegorie angelegt werden:  
//  
// Kathegorie("Neue Kathegorie")  
//  
// Die erste mögliche Antwort ist die korrekte Antwort:  
//  
//    Frage("Richtig oder Falsch?")  
//       Antwort("Richtig")  
//       Antwort("Falsch")  
//       Antwort("Falsch")  
//  
  
Kathegorie("Fachkunde 1")  
   Frage("In welches Schreiben passt die Formulierung 'Wir haben Bedarf an ...'?")  
      Antwort("Anfrage")  
      Antwort("Angebot")  
      Antwort("Bestellung")  
      Antwort("Rechnung")  
      Antwort("Bestellungsannahme")  
   Frage("Einem Arbeitnehmer wird das Arbeitslosengeld für einige Zeit gesperrt. Vor welchem Gericht kann er gegen die Entscheidung klagen?")  
      Antwort("Landgericht")  
      Antwort("Verwaltungsgericht")  
      Antwort("Sozialgericht")  
      Antwort("Familiengericht")  
      Antwort("Vormundschaftsgericht")  
   Frage("Auf der Verpackung von Schreibmaschinenpapier steht '120 g'. Das bedeutet ...")  
      Antwort(", dass 1 Bogen A0 120 gramm wiegen.")  
      Antwort(", dass die Verpackung 120 gramm wiegt.")  
      Antwort(", dass 10 Blätter 120 gramm wiegen.")  
      Antwort(", dass 100 Blätter 120 gramm wiegen.")  
      Antwort(", dass 1 Bogen A1 120 gramm wiegen.")  
   Frage("Wie hoch ist die Haftung der Deutschen Post AG bei Verlust eines Päckchens?")  
      Antwort("Keine Haftung")  
      Antwort("Pauschal 40,00 EUR")  
      Antwort("In der Höhe des nachgewiesenen Schadens")  
      Antwort("Für einen nachgewiesenen Schaden bis 500,00 EUR")  
      Antwort("Die Post haftet nur bei Beschädigung")  
Kathegorie("Fachkunde 2")  
   Frage("Wer zahlt bei Arbeitslosigkeit das Arbeitslosengeld aus?")  
      Antwort("Arbeitsamt")  
      Antwort("Sozialamt")  
      Antwort("Landesversicherungsanstalten")  
      Antwort("Finanzamt")  
      Antwort("Krankenkassen")  
   Frage("Welche Einrichtung hat den gesetzlichen Auftrag, Vorschriften zur Unfallverhütung zu erstellen?")  
      Antwort("Berufsgenossenschaft")  
      Antwort("Gewerbeaufsichtsamt")  
      Antwort("Landesregierung")  
      Antwort("Bundesaufsichtsamt für Versicherungswesen in Berlin")  
      Antwort("Technischer Überwachungsverein (TÜV)")  

Das ist erstmal das wichtigste ...

Aber Danke für die IFELSE-Tipps.

PS: Sch..... auf die Validität zu IE. Das funktioniert auf diesem Netzwerk, wo es verwendet werden soll, problemlos. Ie interpretiert das schon genau so, wie ich es will. Also wegen HTML-Tags bitte nicht "meckern"

MFG
Griever