1

我有一个选择框,里面有几个选项。选择选项后,JavaScript代码获取所选选项的值,并且必须相应地更改文本字体。

我想我会使用 Switch-Case 语句,因为我有多个选项,但它似乎不起作用,没有任何变化。

Javascript

function font() {
    var sf = document.getElementById('box').value;
    var generate = document.getElementById('generate');

    switch (sf) {
        case 'TimesNewRoman':
            generate.style.fontFamily('Times New Roman')
            break;
        case 'Georgia':
            generate.style.fontFamily('Georgia')
            break;
        case 'PalatinoLinotype':
            generate.style.fontFamily('Palatino Linotype')
            break;
        default:
            generate.style.fontFamily('Arial')
    }
}

HTML

<select id="box" onchange="font();">
    <option id="TNR" value="TimesNewRoman">Times New Roman</option>
    <option id="GRG" value="Georgia">Georgia</option>
    <option id="PLT" value="PalatinoLinotype">Palatino Linotype</option>
</select>
<br />
<div id="generate">This is some text</div>

笔记

我在列表中有更多选项,但为了简单起见,我将其缩短了。

使用这个语句是我错了,还是我完全错过了一些东西?

4

1 回答 1

4

你还没有分配,使用generate.style.fontFamily = "Arial";

于 2013-08-28T09:37:48.917 回答