每次刷新页面时,如何为一行文本生成随机字体?

时间:2014-02-18 18:50:14

标签: javascript html fonts

每次从JavaScript中的列表刷新页面时,我都会尝试生成新字体。我想要总共4个字体,我希望读取“Font”的行是实际更改的字体。我无法在刷新页面时随时更改字体。用JavaScript我可以做任何事情吗?以下是我尝试的一些事情:

<script>
var fontType = [ "Arial", "Verdana", "Helvetica"];
var num;
num=Math.floor(Math.random()*3);
document.getElementById("fontfamily").src=fontType[num];
</script>

这似乎不起作用。我想知道我必须为字体调用一个ID,但是有没有“GetelementById(fontfamily)”这样的东西?这也是我的身体标签。

var font = [];
font[0] = "Times New Roman";
font[1] = "Arial";
font[2] = "Helvetica";

这会是更好的选择吗?我如何随机选择?

2 个答案:

答案 0 :(得分:5)

您想要document.getElementById("fontfamily").style.fontFamily;

每当您想使用JavaScript设置元素样式时,请使用.style,然后使用css属性。因此font-family变为fontFamilybackground-image变为backgroundImage

var fontType = [ "Arial", "Verdana", "Helvetica"];
var num;
num=Math.floor(Math.random()*3);
document.getElementById("fontfamily").style.fontFamily =fontType[num];

http://jsfiddle.net/DZnbR/

答案 1 :(得分:0)

你走了:

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title></title>

        <link href="https://fonts.googleapis.com/css?family=Open+Sans|Raleway|Roboto" rel="stylesheet">

        <style>
            .Roboto{
                font-family: 'Roboto', sans-serif;
            }
            .Open_Sans{
                font-family: 'Open Sans', sans-serif;
            }
            .Roboto{
                font-family: 'Raleway', sans-serif;
            }
        </style>
    </head>
    <body id="body">

        <script>

            var fonts = ['Roboto', 'Open_Sans', 'Raleway'];
            var rand = fonts[Math.floor(Math.random() * fonts.length)];
            console.log(rand);

            var bodyElement = document.getElementById("body");
            bodyElement.className = rand;
        </script>
    </body>
</html>