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