2013-04-29 32 views
2

我试图增加我的页面使用javascript函数的字体大小,但它不工作。我的代码有语法问题吗?还是不可能做我想做的事情?我该如何动态增加Javascript的字体大小,为什么我的当前功能不工作?

的Javascript:

function changeFontSize(fontvar) { 
var div = document.getElementById("webchat_history"); 
var currentFont = div.style.fontSize.value; 

div.style.fontSize = currentFont + fontvar+ "px"; 
} 

HTML:
<span onClick="changeFontSize(10);" style="font-size:16px;">Aa</span>

我想用x量(fontvar),而不是指定一个特定的字体大小,因为我的字体大小在外部样式表将增加它。当/如果我需要修改样式表时,我宁愿不必更新Javascript。

+0

你得到在JavaScript控制台中的任何错误? – Barmar 2013-04-29 15:45:46

+0

我觉得这行'div.style.fontSize = currentFont + fontvar +“px”;'是用字符串操作的,所以你会得到'“16”+“10”+ px“'导致'”1610px“'而不是''26“+”px“'! – Ivozor 2013-04-29 15:49:29

+0

我在javascript控制台 – 2013-04-29 15:58:58

回答

4

这个脚本应该工作:

function changeFontSize(fontvar) { 
    var div = document.getElementById("webchat_history"); 
    var currentFont = div.style.fontSize.replace("px", ""); 

    div.style.fontSize = parseInt(currentFont) + parseInt(fontvar) + "px"; 
} 
+0

没有变化。我在IE8的Javascript控制台中得到“Object Required”仍然 – 2013-04-29 16:03:44

+1

再次检查我的答案,我做了一些更改 – LRA 2013-04-29 16:14:21

+0

我感谢你的所有帮助,但我想我找到了我的问题。 “webchat_history”是一个类,而不是一个Id,所以这个问题实际上与这个函数没有任何关系, – 2013-04-29 16:31:24

0

额外的调试后,我意识到了 “身份证” 我用,webchat_history,本来就不是一个ID。对于ID history,是类别。我将创建其他课程并使用document.getElementById('history').className = "webchat_history_medium";更改字体大小。