2013-04-29 35 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";更改字體大小。