Ich habe eine Auswahlliste, die ca. 15 Überschriften eines längeren Textdokumentes enthält. Die gewählte Überschrift soll stehen bleiben und somit gleich als Orientierung dienen. Dieser Effekt funktioniert nur teilweise.
Mit dem Auswahlfeld an sich und dem Stehenbleibenlassen der gewählten Überschrift nach einer Auswahl gibt es keine Probleme, ist deshalb hier nicht dargestellt.
Auswahlliste und Textdokument sind als Frameset organisiert. Die Auswahlliste befindet sich in einer immer sichtbaren „Kopf-Datei“, die wechselnden Textdateien befinden sich darunter.
Fehler:
In Abhängigkeit von der Art des Funktionsaufrufs springt die Auswahlliste auf die Grundposition zurück. Die Grundposition ist nicht durch „selected“ markiert, sondern steht nur an erster Stelle(option[0]) und heißt „Bitte wählen Sie eine Überschrift!“.
Vermutung / Fragestellung:
Es scheint, als ob beim nichtfunktionsfähigen Effekt nicht nur die sich verändernde Textdatei, sondern auch die Auswahllisten-Datei (wahl.html) neu geladen wird. Das Zurücksetzen folgt auf die kurzzeitige Anzeige der richtigen Überschrift und findet nach einer kurzen Pause statt und das Neuladen der Textdatei ist bei meinem PC deutlich zu hören.
Weshalb wird wahl.html neu geladen? (Es gibt dazu doch keinen vernünftigen Grund.)
Wie kann ich das Neuladen von wahl.html verhindern?
Andere Vorschläge?
Funktionsfähiger Effekt:
Funktionsaufruf über zwei Links („vor“ und „zurück“)
Funktion: balken(s), die gleiche wie beim nicht funktionsfähigen Effekt
Bevor die Funktion balken(s) aufgerufen wird, wird die alte Seitenzahl ermittelt, die neue berechnet und zugewiesen. Das klappt alles, ist deshalb nicht dargestellt.
Nicht funktionsfähiger Effekt:
Hier wird die Textdatei geladen, indem der Benutzer in ein Textfeld (befindet sich neben der Auswahlliste) die Seitenzahl einträgt und per Klick auf ein OK-Button die Funktion auslöst.(hier nicht wiedergegeben, funktioniert alles).
Prinzip der if-Abfragen ist: In Abhängigkeit von der übergebenen Seitenzahl wird nummer mit dem Wert belegt, der später für die Anzeige des richtigen Auswahlfeld-Balkens gebraucht wird.
Variable s – Seitenzahl
Bei Aufruf der Funktion balken2(s) wird, wie gewünscht, der richtige Auswahlfeld-Balken gezeigt. Leider nur für kurze Zeit. Dann nimmt das Auswahlfeld wieder die Grundposition ein.
function balken(s)
{
var nummer; //Nummer des anzuzeigenden Balkens
if(s>0) {nummer=2;}
if(s>5) {nummer=3;}
if(s>8) {nummer=4;}
if(s>11) {nummer=6;}
document.balken.ueber.selectedIndex=nummer;
}