使用javascript使图像作为字体大小调整按钮
问题描述:
这是我现在拥有的,但按钮仍然没有调整文本大小。每个按钮的值分别为0.1和-0.1,字体大小目前设置为1em。有任何想法吗?使用javascript使图像作为字体大小调整按钮
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"
}
答
要调用带有参数的函数从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();
}
答
fontButtons[i].onclick = resizeText; // not (this);
您需要分配功能,没有返回值(未定义)。
我会放置在window.onload =函数(){启动();}在整个的JavaScript页面的顶部?对不起,我很新 – Jakeanake
按钮仍然无法正常工作,我的HTML有问题吗? '
另外我把'
'作为我的方法让它首先在html中加载。 – Jakeanake