New Live: Cookie speichert den Wert Nicht Ordnugs gemäss

Guten Tag meine lieben Leude,

Ich habe mir da etwas zusammen geschustert und es will net so laufen wie ich will.
Das Problem ist das scheinbar das an den wert den ich in dem cookie
Speicher immer eine "1" angehängt wird und ich komm einfach net drauf
warum er das tut. Nun ja genug geredet wenn ihr den fehler seht sagt mir doch bitte wo er ist.
Und wenn ihr andere fehler seht könnt ihr mir die auch gerne mit- teilen

So nun der QuellCode:

<html>
<head>
<title>cookie</title>
<meta name="author" content="Dieter">
<meta name="generator" content="Ulli Meybohms HTML EDITOR">
  <style type="text/css">
p {font-size:12pt; font-family:sans-serif; color:#333333;}
</style>
  <script language="JavaScript">
  var charsize = 12;

function aktivator()
{
charsize = readCookie("muh"); //Wert wirtd aus dem cookie gelesen und in charsize Gespeichert
var vfontsize = document.getElementById("absatz"); //Aktuelle schrift Grösse wird aus gelesen und in der varable vfontsize gespeichert
vfontsize.style.fontSize = charsize + "pt"; // Die Schrift grösse wird auf charsize gesetzt und aktualisirt
}
function bigger()
{
charsize = charsize + 1;  // charsize wird um "1" erhöht
writeCookie("muh", charsize, 90);// Der aktuelle charszie wert wird in inem cookie gespeichert
aktivator();                 // Die funktion aktivator wird aufgerufen
}
function smaller()
{
charsize = charsize - 1; // charsize wird um "1" veringert
writeCookie("muh", charsize, 90);// Der aktuelle charszie wert wird in inem cookie gespeichert
aktivator();      // Die funktion aktivator wird aufgerufen
}
function norm()
{
charsize = 12; // charsize wird auf "12" gesetzt
writeCookie("muh", charsize, 90);    // Der aktuelle charszie wert wird in inem cookie gespeichert
aktivator();       // Die funktion aktivator wird aufgerufen
}
function check()
{
alert (charsize); // charsize wird über alert() ausgegeben
}

function writeCookie(name, value, hours)
  {
    var expire = "";
    if(hours != null) {
        expire = new Date((new Date()).getTime() + hours * 3600000);
        expire = "; expires=" + expire.toGMTString();
    }
    document.cookie = name+"=" +value+expire;
}

function readCookie(name)
{
    var cookieValue = "";
    var search = name + "=";
    if(document.cookie.length > 0) {
        offset = document.cookie.indexOf(search);
        if(offset != -1) {
            offset += search.length;
            end = document.cookie.indexOf(";", offset);
            if(end == -1) end = document.cookie.length;
            cookieValue = unescape(document.cookie.substring(offset, end))
        }
    }
    return cookieValue;
}

</script>
</head>
<body id="absatz" text="#000000" bgcolor="#FFFFFF" link="#FF0000" alink="#FF0000" vlink="#FF0000">
  <body id="absatz">
<a href="#" onclick="bigger();">Make Me Big</a>
<a href="#" onclick="smaller();">Make Me Smal</a>
<a href="#" onclick="norm();">Make Me Normal</a>

</body>
</html>

Und noch eine Bitte
Mögt ihr mir die fehler auch erklären? Bin noch n absoluter Javaskript DAU

MFG New Live

  1. Das Problem ist das scheinbar das an den wert den ich in dem cookie
    Speicher immer eine "1" angehängt wird und ich komm einfach net drauf
    warum er das tut.

    charsize = readCookie("muh"); //Wert wirtd aus dem cookie gelesen und in charsize Gespeichert

    function bigger()
    {
    charsize = charsize + 1;  // charsize wird um "1" erhöht

    In einem Cookie steht immer ein Text drin. Die Variable charsize enthält deshalb zum Beispiel nicht den Zahlenwert 12, sondern den Text "12". Das Plus dient bei Texten zum Anhängen von weiteren Texten, deshalb ist das Ergebniss von charsize + 1 (also "12" + 1) der Text "121" und nicht die Zahl 13.

    Du musst den Inhalt von charsize vor der Addition mit Number() oder parseInt() in eine Zahl umwandeln:

    charsize = Number(charsize) + 1;  // charsize wird um "1" erhöht

    Übrigens, ein paar Kommas machen jede noch so lange Erklärung gleich viel lesbarer.