There seem to be million of ways to do that – here is the most parsimonious solution that works for me even under difficult conditions and in different browsers.
// should be run in a $(document).ready(function(){ bracket });
// if there is no cookie we set one
if (document.cookie.indexOf("color")!== -1 {
document.cookie = "color=white";
}
// we need a body class without any background definition
// and a class for body.black that has background:black
if (document.cookie.indexOf("black") === -1) {
// switch to the new .black class
$("body").toggleClass("black");
// this is also possible in the iframe
$(#iframe").contents().find("body").toggleClass("black");
}
// link or whatever is being clicked for the effect
$(".place").click(function () {
if (document.cookie.indexOf("white") !== -1) {
document.cookie = "color=black";
}
else {
document.cookie = "color=white";
}
// reload page with a small delay
setTimeout( function() { location.reload() }, 250 );
CC-BY-NC Science Surf
12.04.2014, access 18.10.2025