点击切换文章大小字体功能JS

作者: 本站原创  发布时间:  浏览:

       文本切换大小通过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>

上一篇:博客logo图片一闪而过CSS特效

下一篇:JS实现图片上传后多图片尺寸预览功能

相关文章

做一个企业网站大概需要多少钱

制作一个城市分站系统网站需要多少钱

国内网站需要备案吗

没有备案的网站能打开吗

没有备案的网站不能解析吗?

添加微信
添加微信,免费咨询

15205695834

新手指南支付购买售后服务关于我们版权合规
合肥秀站网络科技有限公司
Copyright 2002-2022 麦站 版权所有
皖ICP备12018676号 网站地图