Einzelnen Beitrag anzeigen
  #1 (permalink)  
Alt 19.11.2011, 15:23
ha-bauer ha-bauer ist offline
Benutzer
neuer user
Thread-Ersteller
 
Registriert seit: 27.05.2009
Beiträge: 48
ha-bauer befindet sich auf einem aufstrebenden Ast
Standard Problem bei Cookie setzen mit Jquery

Hallo zusammen,
ich verzweifle gerade daran, ein einfaches Cookie mit der Javascript-Bibliothek Jquery zu setzen. Folgendes: Ich habe eine div-Box, die die Klasse .hbb-ticker hat. Diese Box soll, wenn das Cookie nicht gesetzt ist, erscheinen und wenn das Cookie gesetzt wird, nicht mehr erscheinen. Das Cookie soll gesetzt werden, wenn ein Button innerhalb des Containers mit der Klasse .hbb-ticker-inner, der wiederum innerhalb von dem Div mit der Klasse .hbb-ticker platziert ist, gedrückt wird.
Folgenden Quelltext habe ich bereits:
HTML-Code:
var datum;
if (document.cookie != "") {
$(".hbb-ticker-inner button").mouseover(function() {
$(this).css("cursor","pointer");
});
$(".hbb-ticker-inner button").click(function() {
$(".hbb-ticker").hide();
});
}
else {
$(".hbb-ticker").hide();
}
datum = new Date();
datum.setMonth(datum.getMonth()+9);
document.cookie = "dagewesen=ja; expires=" + datum.toGMTString();
Mein Problem liegt jetzt darin, dass sich die Box zwar schließt, wenn ich auf den Button klicke. Jedoch, wenn ich dann die Seite wechsle (und das Cookie eigentlich gesetzt sein sollte, so dass die Box nicht mehr erscheint) erscheint die Box wieder, ganz als ob das Cookie nicht gesetzt wurde.
Wo liegt mein Fehler? Es wäre nett, wenn mir jemand auf die Sprünge helfen könnte.
Vielen Dank für eine Antwort,
ha-bauer

Edit: Das Problem hat sich erledigt. Ich habe im Internet nach ein wenig googlen diese schöne Funktions-Sammlung gefunden, mit der ich ganz einfach das Cookie abfragen und bei Bedarf erstellen konnte. Nach Einbindung der Bibliothek funktioniert folgender Code:
HTML-Code:
if (!get_cookie("dagewesen")) {
$(".hbb-ticker-inner button").mouseover(function({
$(this).css("cursor","pointer");
});
$(".hbb-ticker-inner button").click(function() {
$(".hbb-ticker").hide();
var datum;
datum = new Date();
datum.setMonth(datum.getMonth()+9);
set_cookie("dagewesen","ja",datum.toGMTString());
});
}
else {
$(".hbb-ticker").hide();
}
Danke trotzdem!
Viele Grüße,
ha-bauer

Geändert von ha-bauer (19.11.2011 um 18:36 Uhr)
Mit Zitat antworten
Sponsored Links