You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何实现点击按钮调整div内所有子元素的字体大小并生效

实现字体缩放功能的修正方案

你存储子元素的content节点集合和font_size数组的索引是完全一一对应的,只需要在每次修改字号数组后,将对应数值赋值给对应元素的行内样式即可,另外需要阻止按钮的默认跳转行为,避免点击后页面刷新。

修正后的完整JS代码

const content = document.querySelectorAll('.content *');
let font_size = [];
for (let i = 0; i < content.length; i++) {
  const style = getComputedStyle(content[i]);
  font_size[i] = parseInt(style.fontSize);
}

const btns = document.querySelectorAll('.btn');
btns.forEach(function(btn) {
  btn.addEventListener('click', function(e) {
    // 阻止a标签默认跳转行为
    e.preventDefault();
    const styles = e.currentTarget.classList;
    if (styles.contains('decrease')) {
      for (let i = 0; i < font_size.length; i++) {
        // 可选:加最小字号限制,避免字号过小无法阅读
        if(font_size[i] > 6) {
          font_size[i] -= 2;
        }
      }
    } else {
      for (let i = 0; i < font_size.length; i++) {
        font_size[i] += 2;
      }
    }
    // 将新字号赋值给对应元素
    for (let i = 0; i < content.length; i++) {
      content[i].style.fontSize = `${font_size[i]}px`;
    }
  });
});

核心修改说明

  • 新增e.preventDefault()阻止按钮默认跳转行为,避免页面刷新重置样式
  • 修改完字号数组后新增一轮遍历,将数组中存储的新字号拼接px单位后,赋值给对应元素的style.fontSize属性触发样式更新
  • 可选增加最小字号限制,避免字号缩小到无法正常阅读的大小

内容的提问来源于stack exchange,提问作者Bikal Koju

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 19:24:01