使用javascript使图像作为字体大小调整按钮

时间:2016-03-28 00:14:05

标签: javascript html

这是我现在拥有的,但按钮仍然没有调整文本大小。我将每个按钮的值分别设置为0.1和-0.1,字体大小当前设置为1em。有什么想法吗?

window.onload = startup;

function startup() {
    var fontButtons = document.getElementsByClassName("fontsizer");
    var i;
    alert(fontButtons.length);
    for (i = 0; i < fontButtons.length; i++) 
fontButtons[i].onclick = function(){resizeText(this)};
}

function resizeText() {
    var fontChange;
    fontChange = parseFloat(objButton.value);

    if (document.body.style.fontSize == "") {
        document.body.style.fontSize = "1.0em";
    }

    var currentFontSize;
    alert("changed");
    currentFontSize = parseFloat(document.body.style.fontSize);
    currentFontSize = currentFontSize+fontChange;
    document.body.style.fontSize = "currentFontSize+em"
}

2 个答案:

答案 0 :(得分:0)

fontButtons[i].onclick = resizeText; // not (this);

您需要指定功能,而不是返回值(未定义)。

答案 1 :(得分:0)

要使用onclick中的参数调用函数,请将其放在匿名函数中,以便:

fontButtons[i].onclick = resizeText(this);

变为:

fontButtons[i].onclick = function(){resizeText(this)};

此外,请确保在创建startup()元素后运行.fontsizer。例如window.onload = startup;或类似的东西,你可以随时运行:

document.onreadystatechange = function() {
    if (document.readyState !== 'complete') 
      return;

    startup();  
}

工作小提琴:https://jsfiddle.net/ckn9sLfv/