我正在尝试像不透明效果一样的动画,这会使文字变得更大胆.尝试了通常的animate()方法,但没有奏效.搜索它但没有找到任何例子.是否有可能做到这一点?
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开始,这是我能想到的:
而背后相当愚蠢的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) });