通过javascript每次点击动态增加字体大小

时间:2015-10-11 10:33:35

标签: javascript html css

我正在努力想办法通过我可以动态增加所需元素的字体大小,这里是代码:

<!DOCTYPE html>
<html>
<head>
<style>
.example {
    border: 1px solid black;
    margin: 5px;
}
</style>
</head>
<body>

<div class="example">
A div with class="example"
</div>

<div class="example">
Another div with class="example"
</div>

<p>This is a p element with class="example".</p>

<p>This is a <span class="example">span</span> element with                Class="example" inside another p element.</p>

<p>Click the button to change the background color of all elements with class="example".</p>

<button class="example" onclick="myFunction()">Try it</button>


<script>
function myFunction() {
    var x = document.getElementsByClassName("example");
    var i;
    for (i = 0; i < x.length; i++) {
        x[i].style.fontSize = "xx-large";
}
}
</script>

</body>
</html>

现在,问题在于,当我点击按钮时,加高元素的字体大小会增加,但是当我再次点击按钮时,窗框保持不变,例如在点击fontsize = 12px之前,单击后它变为24px,此时我想再次单击该按钮时尺寸会进一步增大,请帮忙!

2 个答案:

答案 0 :(得分:0)

目前,您的功能仅执行x[i].style.fontSize = "xx-large";,这意味着&#34;将字体大小设置为xx-large&#34;,而不是&#34;增加字体大小&#34;。

您应该获得x[i].style.fontSize的值,并写一个新的增加值(可能以像素为单位)。

答案 1 :(得分:0)

如果你想每次增加* 2的字体大小:

for (i = 0; i < x.length; i++) {
    x[i].style.fontSize = ( parseInt( x[i].style.fontSize ) * 2 ) + 'px';