JavaScript 控制字体大小设置

在做公司的官网的时候,新闻内页会有一个让浏览者自己调整文字大小的功能,因此在这个空闲时间,把这个功能整理下来:

 1     function setFontSize (id,content,params){
 2             var oTarget = document.getElementById(id),
 3                 content = document.getElementById(content),
 4                 size = params.size || 14,
 5                 maxSize = params.maxSize || 20,
 6                 step = params.step || 2;
 7                 oBtn = '<input type="button" value="+"/><input type="button" value="-" />';
 8                 oBtn1 = null,
 9                 oBtn2 = null;
10 
11                 oTarget.innerHTML = oBtn;
12                 oBtn1 = oTarget.childNodes[0];
13                 oBtn2 = oTarget.childNodes[1];
14 
15                 oBtn1.οnclick=function(){
16                     if(size+step <= maxSize){
17                         size+=step;
18                     }else{
19                         size = maxSize;
20                         this.className+=' disabled';
21                         this.disabled = true;
22                     }
23                     oBtn2.className.replace('disabled','');
24                     oBtn2.disabled = false;
25                     content.style.fontSize = size +'px';
26                 }
27                 oBtn2.οnclick=function(){
28                     if(size-step >= 12){ 
29                         size-=step;
30                     }else{
31                         size = 12;
32                         this.className+=' disabled'
33                         this.disabled = true;
34                     }
35                     oBtn1.className.replace('disabled','');
36                     oBtn1.disabled = false;
37                     content.style.fontSize = size +'px';
38             }
39     }

调用方式:

1 setFontSize(id,contentid,{size:,maxSize,step:});
2 /*
3   * id :用于存放增加或减小两个按钮的父级盒子的id。
4   * contentid: 存放内容的id。
5   * {} 一个对象,用于提供设置的参数。
6          |— szie : 字体起始(默认)大小。
7          |— maxSize : 最大字体。
8          |— step : 增长的步长值。
9 */

提示:可以通过font-size:0的方式来隐藏Input元素的value值,然后自定义按钮的样式。

 

转载于:https://www.cnblogs.com/HCJJ/p/5573917.html

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
可以通过监听 slider 组件的 change 事件,动态修改字体大小,从而实现通过 slider 控制字体大小的效果。具体实现步骤如下: 1. 在 wxml 文件中添加一个 slider 组件,设置它的最小值、最大值、步长和初始值等参数,同时给它一个 id,以便在 js 文件中获取它的值。 ```html <slider id="fontSlider" min="12" max="36" step="2" value="{{fontSize}}" bindchange="onSliderChange"></slider> ``` 2. 在 js 文件中,定义一个变量 fontSize,用于保存当前字体大小的值,同时在页面加载时,从本地缓存中获取上次保存的字体大小值,并将其赋值给 fontSize 变量。 ```javascript Page({ data: { fontSize: 16 // 默认字体大小为 16px }, onLoad: function () { // 从本地缓存中获取上次保存的字体大小值 const fontSize = wx.getStorageSync('fontSize'); if (fontSize) { this.setData({ fontSize }); } }, // slider 值改变时触发的事件 onSliderChange: function (event) { const fontSize = event.detail.value; this.setData({ fontSize }); wx.setStorageSync('fontSize', fontSize); // 保存字体大小值到本地缓存 } }) ``` 3. 在样式文件中,使用字体大小变量来设置文字大小,这样就可以根据 fontSize 的值来动态修改字体大小了。 ```css .text { font-size: {{fontSize}}px; } ``` 这样,通过 slider 控制字体大小的功能就实现了。当用户拖动 slider 时,会触发 change 事件,我们在事件处理函数中更新字体大小的值,并将其保存到本地缓存中。同时,因为在样式文件中使用了字体大小变量,所以字体大小会自动随着 fontSize 变量的值而改变。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值