En kund vill ha minska/öka text storleken knappar på webbplatsen. Jag kan knappt något om javascript men har en funktion som fungerar. Så här ser den ut.
function adjustFontSize(t){
switch(t){
case "bigger":
var body = document.getElementsByTagName("BODY");
var numexp = /[^0-9.]+/;
if(typeof body[0].style.fontSize == "undefined" || body[0].style.fontSize == ""){
var fz = 1;
}else{
var fz = Number(body[0].style.fontSize.replace(numexp,""));
}
body[0].style.fontSize = (fz+0.1)+"em";
break;
case "smaller":
var body = document.getElementsByTagName("BODY");
var numexp = /[^0-9.]+/;
if(typeof body[0].style.fontSize == "undefined" || body[0].style.fontSize == ""){
var fz = 1;
}else{
var fz = Number(body[0].style.fontSize.replace(numexp,""));
}
body[0].style.fontSize = (fz-0.1)+"em";
break;
}
}
Men designen bryts om den förstoras/förminskas för mycket. Därför vill jag ha ett max/min värde. Skriptet ser ut såhär:
var maxSize = 1.5;
var minSize = 0.7;
function adjustFontSize(t){
switch(t){
case "bigger":
var body = document.getElementsByTagName("BODY");
var numexp = /[^0-9.]+/;
if(typeof body[0].style.fontSize == "undefined" || body[0].style.fontSize == ""){
var fz = 1;
}else{
var newSize = Number(body[0].style.fontSize.replace(numexp,"")) + 0.1;
if(newSize <= maxSize){
body[0].style.fontSize = newSize+"em";
}else{
alert('Du använder redan den största tillåtna teckenstorlek på hemsidan.');
}
}
break;
case "smaller":
var body = document.getElementsByTagName("BODY");
var numexp = /[^0-9.]+/;
if(typeof body[0].style.fontSize == "undefined" || body[0].style.fontSize == ""){
var fz = 1;
}else{
var fz = Number(body[0].style.fontSize.replace(numexp,""));
}
var newSize = Number(body[0].style.fontSize.replace(numexp,"")) - 0.1;
if(newSize >= minSize){
body[0].style.fontSize = newSize+"em";
}else{
alert('Du använder redan den minsta tillåtna teckenstorlek på hemsidan.');
}
break;
}
}
Men det scriptet fungerar inte. Någon som kan hjälpa mig om vad som är fel och hur jag får det att fungera?
Ni får självklart använda skriptet själva.