編集、2021年4月:これは、可変フォントtransition: font-weight
を使用して、またはよりシームレスに実現できるようになりました。
悲しいことに、これは不可能だと思います。
フォントの各文字には特定の形状があります。さらに、異なる重みの重みを持つ類似の文字も区別されます。太字の文字は、通常の対応する文字から数学的に定義されたオフセットを持っているだけではありません。
jQuery.css()を使用すると、通常から太字または斜体にジャンプするのは非常に簡単ですが、現在、ブラウザーでフォントの太さの遷移をjQuery.animate()にジャンプすることはできません。異なるウェイトの間に「フレーム」がないため、アニメーションでも行うのは困難です。これらはすべて別々に描画されるためです。
でも、
Exoなど、さまざまな太さの文字の間隔が一定しているフォントを選択し、薄いものから黒いものへの段階的なアニメーションを実行すると、目的の結果に近づく可能性があります。
あなたのjsFiddleから始めて、それが私が思いついたものです:
これが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)
});