文本切换大小通过JS实现有两种方法,一种是为元素增加style样式,另一种是先为元素增加class,然后再定义该class的样式。效果可以参考本贴切换效果,通过CSS样式,还可以扩展:全屏模式、阅读模式等。
为元素增加style样式
JS部分,把下面JS代码放在头部或者底部都可以
<script type="javascript">
function FontZoom(fsize){
var ctext = document.getElementById("field_body");
ctext.style.fontSize = fsize +"px";
}
</script>
获取元素上面是按id,下面是按class
<script type="javascript">
function FontZoom(fsize){var ctext = document.querySelector(".field_body p");
ctext.style.fontSize = fsize+"px";
}
</script>
HTML部分
<p class="info">
<span>字体:</span><a href="javascript:FontZoom(20);">[大]</a>
<a href="javascript:FontZoom(12);">[小]</a>
</p>
<p id="field_body" class="field_body">
<h3>标题:</h3>
<p>正文:</p>
</p>
点击[大]/[小]后,id="field_body"后面增加style样式,如下
<p id="field_body" class="field_body" style="font-size:12px">
<h3>标题:</h3>
<p>正文:</p>
<!--
上面按class获取的元素
<p style="font-size:12px;"></p>
-->
</p>
这种控制方式并不灵活,推荐用下面的控制方式
为元素增加class
JS部分
<script type="javascript">
/**说明:www.vi586.com
1.addClass:为指定的field_body元素添加样式
2.removeClass:删除指定field_body元素的样式
3.toggleClass:如果存在(不存在),就删除(添加)一个样式
4.hasClass:判断样式是否存在
*/
function hasClass(obj, cls) {
return obj.className.match(new RegExp('(\\s|^)' + cls + '(\\s|$)'));
}
function addClass(obj, cls) {
if (!this.hasClass(obj, cls)) obj.className += " " + cls;
}
function removeClass(obj, cls) {
if (hasClass(obj, cls)) {
var reg = new RegExp('(\\s|^)' + cls + '(\\s|$)');
obj.className = obj.className.replace(reg, ' ');
}
}
function toggleClass(obj,cls){
if(hasClass(obj,cls)){
removeClass(obj, cls);
}else{
addClass(obj, cls);
}
}
function toggleClassTest(){
var obj = document. getElementById('field_body');
toggleClass(obj,"big");
}
</script>
HTML部分
<p class="info">
<a href="javascript:;" onclick="toggleClassTest()">[切换大/小字体]</a>
</p>
<p id="field_body" class="field_body">
<h3>标题:</h3>
<p>正文:</p>
</p>
点击[切换大/小字体]后,为id="field_body"增加class="addclass",如
<p id="field_body" class="field_body big">
<h3>标题:</h3>
<p>正文:</p>
</p>
CSS部分
<style type="text/css">
.field_body h3{font-size:1em;line-height:1.5em}
.field_body p{font-size:1em;line-height:1.5em}
.big h3{font-size:2em;line-height:2em}
.big p{font-size:2.5em;line-height:2.5em}
</style>
|