[jQuery] Cookie Speichern klappt nicht

goto;

Erfahrenes Mitglied
Hallo,
bin gerade dabei ein SlidePanel zu schreiben, bei dem der Zustand gleich bleibt auch wenn man sich auf der Seite weiter bewegt oder sie Aktualisiert.
Mit wurde empfohlen das mit Cookies zu realisieren, bin jetzt soweit das nurnoch die Cookies gespeichert werden müssen. Jedoch geht jetzt gar nichts mehr.
HTML:
$(document).ready(function(){  
					
		function showPanel(){
		$("#Panel").slideDown("slow"); 
		$.cookie('gnu','open', { expires: 7 });  <!-- Hier soll das erste Cookie mit dem Value "open" gesetzt werden -->
		alert ($.cookie('gnu'));	<!-- Zum Test soll es hier ausgegeben werden -->
		}
		function hidePanel(){
		$("#Panel").slideUp("slow");
		$.cookie('gnu','close', null);
		alert ($.cookie('gnu'));
		}
		
		
		if ('open' != $.cookie) {	<!-- Prüfe ob der Value "open" vorhanden ist. -->

			hidePanel(); <!-- Wenn true dann function hidePanel aufrufen -->

		} else {

			showPanel(); <!-- Wenn false, dann function showPanel -->
		}

		
		$("#b1").click(function () {
     		     if ($("#Panel").is(":hidden")) {
       				 showPanel();
     			 } else {
        			 hidePanel();
     		 	 }
   		 	});
		});
Wenn ich keine Cookies setze, funktioniert alles, jedoch wird dann der Zustand nicht gespeichert. Was macht ihc falsch?
Hier noch CSS und HTML
HTML:
<style>
       #Panel {
        display: none;
        height: 50px;
        width: 130px;
        background-color: red;
       }
</style>
<button id="b1">Klick</button>
 <div id="Panel"> Test </div>
 
Hi,

versuch es mal so:
Code:
function showPanel(){
  $("#Panel").slideDown("slow");
  // Cookie setzen
  $.cookie('gnu','open', { expires: 7 });
}
function hidePanel(){
  $("#Panel").slideUp("slow");
  // Cookie löschen
  $.cookie('gnu', null);
}

$(function(){
  if($.cookie("gnu")=="open")
    showPanel();

  $("#b1").click(function(){
    if($("#Panel").is(":hidden")){
      showPanel();
    }else{
      hidePanel();
    }
  });
});

Ciao
Quaese
 

Neue Beiträge

Zurück