当前位置 : 主页 > 网站建设 > 正文

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

原创

重庆seo2017-01-12 13:47:24阅读()JSA+ / A-

点击切换文章大小字体功能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部分

<div class="info">
 <span>字体:</span><a href="javascript:FontZoom(20);">[大]</a>
 <a href="javascript:FontZoom(12);">[小]</a>
</div>
<div id="field_body" class="field_body">
 <h3>标题:</h3>
 <p>正文:</p>
</div>

       点击[大]/[小]后,id="field_body"后面增加style样式,如下

<div id="field_body" class="field_body" style="font-size:12px">
 <h3>标题:</h3>
 <p>正文:</p>
 <!--
  上面按class获取的元素
  <p style="font-size:12px;"></p>
  -->
</div>

       这种控制方式并不灵活,推荐用下面的控制方式

为元素增加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部分

<div class="info">
 <a href="javascript:;" onclick="toggleClassTest()">[切换大/小字体]</a>
</div>
<div id="field_body" class="field_body">
 <h3>标题:</h3>
 <p>正文:</p>
</div>

点击[切换大/小字体]后,为id="field_body"增加class="addclass",如

<div id="field_body" class="field_body big">
 <h3>标题:</h3>
 <p>正文:</p>
</div>

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>

    扩展阅读

    本文地址:https://www.vi586.com/web/362.html
    版权声明:原创文章,版权归重庆SEO吖七所有,欢迎分享本文,支持原创,转载请保留出处

    赞(2)