Cookie speichert den Wert Nicht Ordnugs gemäss
New Live
- javascript
0 Kermit
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
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.