< ?xml version="1.0" encoding="utf-8"?>
< !DOCTYPE html PUBLIC
"-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
< html xmlns="http://www.w3.org/1999/xhtml" xml:lang="es" lang="es">
< head>
< meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
< title>< !-- comment here -->< /title>
< style type="text/css">
body.uno {
background-color: #fff;
}
body.dos {
background-color: #ccc;
}
< /style>
< script type="text/javascript">
//< ![CDATA[
function main()
{
var HTMLbodyS = document.getElementsByTagName('body');
HTMLbodyS[0].className = (HTMLbodyS[0].className == 'dos' ? 'uno' : 'dos');
}
//]]>
< /script>
< /head>
< body>
< span onclick="main(); ">Click Aquí!< /span>
< /body>
< /html>
Esto me funciona perfectamente.
Edit: Si funciona con lo del document.body estupendo, aunque no se si es la forma más correcta.
Para lo de la fuente, lo mejor que puedes hacer es usar porcentajes; Te explico.
Pones un tamaño en el tag html
html {
font-size: 12px;
}
por ejemplo.
y en body usas porcentajes
body {
font-size: 100%; // 12 px; ; 90% -> ((90/100) * 12)px
}
Para sacar el tamaño creo que era:
elemento.style.fontSize
para obtener un entero:
size = parseInt(element.style.fontSize.replace('%', '')); // CREO
y a ese valor sumas y restas, por ejemplo 15% por cada click.
Perdón por explicarme tan mal, ahora subo el ejemplo