RrunanMedlem sedan maj 20084 inlägg 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.
YyadorMedlem sedan mars 2004455 inlägg Såhär:
function adjustFontSize(t)
{
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,""));
fz += parseFloat((t=="smaller")?"-0.1":"+0.1");
if(0.7 < fz && fz < 1.5)
body[0].style.fontSize = fz+"em";
else
alert("muahahah..");
}
?