这是我现在拥有的,但按钮仍然没有调整文本大小。我将每个按钮的值分别设置为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"
}
答案 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();
}