在做公司的官网的时候,新闻内页会有一个让浏览者自己调整文字大小的功能,因此在这个空闲时间,把这个功能整理下来:
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.onclick=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.onclick=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值,然后自定义按钮的样式。
时间: 2024-12-19 02:51:21