Comment animer le texte avec les styles css font-weight propriété en jQuery ? normaux à gras
Je suis en train d'animation comme l'opacité de l'effet, qui tourne texte audacieux lentement. Essayé d'habitude animate()
méthode, mais n'a pas fonctionné. Cherché mais coundn pas à trouver un exemple. Est-il possible de faire cela?
jQuery:
var Text = $('h1');
Text.click(function() {
Text.animate({'font-weight':'bold'},600)
.delay(200).animate({'font-weight':'normal'},600);
});
- essayé d'explorer les transitions CSS3 ?
- nan
/:
i avez à gérer à voir avec text-shadow, mais je bealive de cette façon sera mieux.
Vous devez vous connecter pour publier un commentaire.
Malheureusement je pense que c'est impossible.
Chaque caractère dans une police de caractères a une forme spécifique. En outre, les caractères similaires dans les différents poids poids sont également distinctes de caractères gras ne sont pas tout simplement mathématiquement définie par décalage de son examen régulier de la contrepartie.
Il serait très facile de sauter de l'ordinaire pour gras ou italique avec jQuery.css(), mais il est actuellement impossible de jQuery.animate() de la transition de la police de poids dans le navigateur. Il est difficile de faire dans l'animation en tant que bien, parce qu'il n'existe pas de “frames” entre les différents poids, car ils sont tous dessinés séparément.
Cependant,
Si vous choisissez une police qui a une sorte de l'espacement des lettres pour le poids différents—comme Exo—et faire un traceur d'animation à partir de minces noir vous pouvez venir proche du résultat souhaité.
À partir de votre jsFiddle c'est ce que je pouvais trouver:
Voici de travail jsFiddle.
Et plutôt stupide Javascript derrière elle:
Vous pouvez utiliser pur CSS, en utilisant
text-shadow
et la pseudo classe:hover
, avec untransition
pour animer ilCSS:
HTML:
Vous pouvez également utiliser jQuery, en utilisant
addClass()
:JS:
CSS:
HTML:
Ou, si vous vouliez une bascule effet, à l'aide d'un
complexe
opérateur:JS:
CSS:
HTML:
Techniquement font-weight peut être un nombre, comme 100 ou 800, mais
pratiquement parlant des navigateurs n'implémentent soit normal ou gras.
Animer prend soit un nombre ou une de "cacher", "show", ou "bascule".
Donc votre "gras" ne fonctionne pas.
En théorie, vous pourriez définir la police-poids à un numéro, puis de passer dans un
nombre d'animer. (400 est de poids "normal", 700 est en gras [1])
Hélas, ce ne semble pas fonctionner dans jQuery.
MAIS! Vous POUVEZ faire cela avec CSS3, même si il l'habitude de travailler sur Internet explorer, votre effet désiré s'élèvera à plus de 50% de la population. Voir pour un exemple.
http://www.quackit.com/css/css3/properties/css_transition-property.cfm
.resize:hover { font-weight:bold; }
vous verrez qu'il n'est pas animé, il passe juste entre gras et normal.