2012-11-15 51 views
0

我寫了一個代碼,顯示2個按鈕和一個文本。當我們點擊按鈕「GROW」時,文本的大小會增加,當我們點擊「收縮」時,大小應該減小。但是這只是一次點擊而已。當我第二次點擊時,這些功能不會被調用。這是爲什麼發生? 這裏是它的代碼..DYNAMIC HTML(字體大小)

<html> 
<head> 
    <script type="text/javascript"> 
     function Grow() 
     { 
      var a=document.getElementById(1); 
      a.style.fontSize=a.style.fontSize+50; 

     } 
     function Shrink() 
     { 
      var a=document.getElementById(1); 
      a.style.fontSize=20; 

     } 
    </script> 
</head> 
<body> 
    <input type="button" value="grow" onclick="Grow()"> 
    <input type="button" value="shrink" onclick="Shrink()"> 
    <p id="1"> Hello </p> 
</body> 

回答

3

當您執行了,你用null值開始時它會自動使用的單位像素的第一次成長的行動。您需要解析.fontSize的值,然後才能對其執行算術運算。試試這個...

parseInt(a.style.fontSize.replace('px', '')); 

得到一個數值,你可以進行算術。

在全...

function Grow() 
{ 
    var a=document.getElementById(1); 

    // Get a number we can perform arithmetic on 
    size = parseInt(a.style.fontSize.replace('px','')); 

    // Additional check needed because original dimensions not specified 
    if (!isNaN(size)) { // If we now have a number we can use 
     a.style.fontSize=size+50; 
    } else { // Otherwise, set to 50 (assuming we are starting from 0px) 
     a.style.fontSize=50; 
    } 
} 
+0

但變化僅施加 –

+0

我的回答將解決您的問題的第一時間。當你第一次種植它時,它會增加px大小。 – Maccath

+0

是的,我明白了,謝謝:) –