• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Java True False abspeichern

farhady

Neues Mitglied
Hi Leute,

ich habe ein Menü realisiert, dass durch ein Button auf und zu geht.
Ich möchte jedoch die Werte AUF oder ZU permanent speichern.

Standardmäßig ist das Menü auf.
Drückt der Benutzer auf den Button, geht das Menü zu.
Jedoch soll dieser Zustand gespeichert werden, denn navigiert ein Benutzer auf der Homepage weiter, wird die Seite neu geladen und das Menü ist wieder offen.

Gibt es im Java ein Befehl, um einen bestimmten Zustand, Variable, Boolean True oder False abzuspeichern oder bleibt dem Browser-Cache sei Dank die Werte true und false gespeichert?
 
Zuletzt bearbeitet:
Es gibt dafür keine Java-Befehle, weil das was Du suchst JavaScript ist. Unterschied!

Du darfst nicht den Rückgabewert speichern sondern musst in der JavaScript-Funktion die das Ausklappen regelt die CSS-Eigenschaft die für das Ausklappen zuständig ist dauerhaft in das Style-Attribut schreiben.

Code:
obj.style.display = "block";
 
Das was Du meinst sind nur Rückgabe-Werte die nur in dem Moment verfügbar sind wo es die Rückgabe gibt. Das wird also nicht dauerhaft gespeichert, es sei denn Du programmierst etwas dazu (z.B. ein Cookie). Das ist aber in dem Fall gar nicht nötig, wie mein obiger Beitrag zeigen sollte.
 
Hi, ich weiß nicht, wie du das mit obj.style.display = "block"; meinst.
Mein Menü wird durch Mootool= Fx.start("height",x) gesteuert.

Die Sache mit Cookies in Javascript habe ich verstanden.
Diese entstehen durch document.cookie.

Jedoch weiß ich nicht, wie ich letzten endes dies in meinem Code realisieren soll.


Zu meinem Code:
Wenn ein Besucher zum erstenmal eine Seite besucht, dann sind vorgegebene Variablen false. Zunächst wird überprüft, ob eine bestimmte Variable True oder False ist:
PHP:
if (mouseOverTaskleiste == true){}
	else{
	var mouseOverTaskleiste = false;}

Weiter unten, wird je nach True oder False das Menü hoch oder runtergeklappt.
Da am Anfang noch False ist, klappt er hoch:
PHP:
if(mouseOverTaskleiste == false){
	tskFx.start("height",600);}
else{tskFx.start("height",0);}

Durch einen Button wird wird die Variable True/False geschaltet:
PHP:
taskleisteSelector.addEvent("click", function(){
		if(!mouseOverTaskleiste){
		    tskFx.start("height",0);
		    mouseOverTaskleiste = true;
		}else{
		    tskFx.start("height",600);	
			mouseOverTaskleiste = false;	
		}

Rein technisch klappt ja alles wunderbar. Aber die Werte True und False gehen jedes mal verloren, sobald die Seite neugeladen wird.
Ich weiß leider nicht wie und wo ich Cookies für dieses Beispiel setzen soll.
 
Nunja, klappt nicht wirklich...

Versucht habe ich jetzt folgendes:
Zunächst die Intialisierung:
PHP:
var mouseOverTaskleiste = false;

Dann überprüfen ob Cookie vorhanden ist,
wenn JA, dann soll mouseovertaskleiste den Inhalt des Cookies vererben,
wenn NEIN, dann einen Cookie setzen.
PHP:
if (document.cookie) {
mouseOverTaskleiste = document.cookie;} 
else {document.cookie = "mouseOveTaskleiste=" + document.lastModified;}

Dann die Überprüfung, ob jetzt True oder False:
PHP:
if(mouseOverTaskleiste = false){
	tskFx.start("height",45);}
	else {tskFx.start("height",10);}

Und die Buttons, die True und False schalten, dabei habe ich auch hier Cookies-Setzen eingebaut. Hierbei erben die Cookies die Eigenschaft von mouseovertaskleiste:
PHP:
taskleisteSelector.addEvent("click", function(){
		if(!mouseOverTaskleiste){
		    tskFx.start("height",10);
		    mouseOverTaskleiste = true;
		    document.cookie = mouseOverTaskleiste;
			
		}else{
			tskFx.start("height",65);	
			mouseOverTaskleiste = false;
			document.cookie = mouseOverTaskleiste;
         		
		}

Funktioniert nicht :/
 
Vielen Dank für den Hinweis.
Aber irgendwie scheint die ganze Technik nicht zu funktionieren.:sad:

Bekomme es einfach nicht raus.
Ich bin mir sicher, ich Code das ganze nur falsch.
Wie es richtig aussieht, ist mein Problem.
 
Das Problem ist, überall wird es anders erklärt.
In deinem Beispiel mit expire, auf anderen ohne.

Da hat man doch kaum Überblick, was richtig oder falsch ist.
 
folglich hast du mein Tutorial wieder nicht gelesen... da steht doch ganz deutlich:
So ist das Cookie (nur) während der Laufzeit der aktuellen Seite zugänglich. D.h. sobald eine neue Seite aufgerufen wird, wird auch das Cookie wieder entfernt. Um die Werte dennoch über einen längeren Zeitraum speichern zu können, muss neben dem Namen und dem Wert ausserdem noch das Verfallsdatum angegeben werden. Dies geschieht mit dem zusätzlichen expires= Eintrag am Ende des eigentlichen Cookies. Als Wert wird ein Datum übergeben, wann der Cookie abgelaufen ist.
 
Zurück
Oben