如何使用jQuery中的css font-weight属性为文本制作动画?正常到粗体

我正在尝试像不透明效果一样的动画,这会使文字变得更大胆.尝试了通常的animate()方法,但没有奏效.搜索它但没有找到任何例子.是否有可能做到这一点?

jsFiddle.

jQuery的:

var Text = $('h1');
Text.click(function() {
    Text.animate({'font-weight':'bold'},600)
        .delay(200).animate({'font-weight':'normal'},600);
});

解决方法

可悲的是,我认为这是不可能的.

字体中的每个字符都具有特定的形状.此外,不同权重权重中的相似字符也是不同的 – 粗体字符不仅仅具有与其常规对应物的数学定义的偏移.

使用jQuery.css()可以很容易地从常规跳转到粗体或斜体,但是目前jQuery.animate()目前无法在浏览器中转换font-weight.在动画中也很难做到,因为不同的权重之间没有“框架”,因为它们都是分开绘制的.

然而,

如果您为不同的权重(例如Exo)选择具有一致字母间距的字体,并执行从细到黑的步进动画,则可能接近所需的结果.

从你的jsfiddle开始,这是我能想到的:

Here is working jsFiddle.

而背后相当愚蠢的Javascript:

Text.click(function() {

  Text.css({'font-weight':200});
  setTimeout(function(){ Text.css({'font-weight':300})},30)
  setTimeout(function(){ Text.css({'font-weight':400})},60)
  setTimeout(function(){ Text.css({'font-weight':500})},90)
  setTimeout(function(){ Text.css({'font-weight':600})},120)
  setTimeout(function(){ Text.css({'font-weight':700})},150)
  setTimeout(function(){ Text.css({'font-weight':800})},180)
  setTimeout(function(){ Text.css({'font-weight':900})},210)

});

相关文章

页面搜索关键词突出 // 页面搜索关键词突出 $(function () {...
jQuery实时显示日期、时间 html: <span id=&quot...
jQuery 添加水印 <script src="../../../.....
中文:Sys.WebForms.PageRequestManagerParserErrorExceptio...
1. 用Response.Write方法 代码如下: Response.Write(&q...
Jquery实现按钮点击遮罩加载,处理完后恢复 思路: 1.点击按...