繁体   English   中英

使用JavaScript快速更改字体大小

[英]Change font size on fly with javascript

我正在开发ac#应用程序。 我们使用xsl将xml内容转换为html。 一旦文件转换为HTML。 我想通过单击1 2和3来更改字体大小。因此,如果用户单击1字体大小为9pt,则单击2 11pt并单击3则为13pt。 我可以使用javascript吗? 是否可以在xsl内添加该javascript函数,以便在文件转换为html时具有该javascript功能? 如果您回答此问题,请尝试全面解释。 提前致谢。

假设您正在将内容呈现到某种容器中,例如跨度,那么您应该能够执行以下操作:

编辑
如果用户能够选择下拉菜单的大小或其他内容,请将选项值设置为以磅为单位的实际大小。

changeFontSize = function(size){
    var el = document.getElementById("container");
    if (el){
        el.style.fontSize = size + "pt";
    }
}

首先,在理论上是可能的。 但是,您需要首先确保一些事项。

  1. 确保页面上的字体都是相对字体。 这意味着所有内容都应使用字体大小,例如100%,150%,1.2em等,而不是12px,10pt等。
  2. 确保您的脚本是HTML中最后加载的节点,或者正文的onload事件触发了用于更改文本的函数。

这个过程很简单。 您可以创建一个函数来更改body元素的字体大小。 因为其他所有内容都是相对的,所以这将影响每个元素。 (例如,将主体字体设置为12px将使设置为150%的任何内容均为18px)。

一个简单的函数可以像这样:

function changeFont(sizeInPixels)
{
    document.body.style.fontSize = sizeInPixels + "px";
}

然后只需将功能作为事件添加到具有适当参数的按钮/链接即可。

您需要将JavaScript插入CDATA中。 否则,它只是在编写更改主体的fontSize样式大小的锚点。

<![CDATA[ 
<script> 
window.onload = function() {

  var fontchange = document.createElement("div");
  var fontchangelink = function(fontsize, desc) {
      var a = document.createElement('a');
      a.href="#";
      a.style.margin = "5px";
      a.onclick = function() { 
        document.body.style.fontSize = fontsize + 'pt';
      };
      a.innerHTML = desc;
      return a;
  };
  fontchange.appendChild(document.createTextNode("Change font size:"));
  fontchange.appendChild(fontchangelink(9, "1"));
  fontchange.appendChild(fontchangelink(11, "2"));
  fontchange.appendChild(fontchangelink(13, "3"));    

  document.body.insertBefore(fontchange, document.body.childNodes[0]);
};
</script> 
]]> 

您可以设置更好的样式,但外观如下:

示例输出

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM