Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > JavaScript
JavaScript Forum programmation JavaScript. Lire : Cours JavaScript, FAQ JavaScript, Toutes les FAQ JavaScript et Sources JavaScript
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 22/11/2011, 12h14   #1
Membre habitué
 
Inscription : mai 2004
Messages : 383
Détails du profil
Informations forums :
Inscription : mai 2004
Messages : 383
Points : 129
Points : 129
Par défaut Safari Opacity/Fade In et les fonts

Salut,

J'ai un petit soucis de fonts après avoir appliqué une fonction qui permet d'afficher progressivement un DID avec opacity.

Voici le résultat:
Avant le fade:

Après le fade:


Alors la div est toute simple:
Code :
1
2
3
<div style="width:100%;" id="message_74">
...le texte..
</div>
Je ne peux pas mettre de background dans cette DIV car elle est à l'intérieur d'une plus grande div avec un background général.

Ensuite pour le Javascript, il est basique:
Code :
1
2
3
4
5
6
7
8
function setOpacity(level) {
  elFad.style.opacity = level;
}
function fadeIn(){
 for (i = 0; i <= 1; i += (1 / steps)) {
    setTimeout("setOpacity(" + i + ")", i * duration);
  }
}
Il n'y a pas de soucis au niveau du JavaScript, il est bien exécuté et avec Firefox il n'y a pas de soucis au niveau des fontes.

Mais Safari ou Chrome, les fontes s'affichent mal après application du fadeIn().

Vous savez comment palier à ce soucis de fontes quand on change l'opacity d'un DIV dynamiquement en JavaScript ?

Merci.
defacta est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/11/2011, 13h57   #2
Responsable Développement Web

 
Avatar de Bovino
 
Homme Didier Mouronval
Développeur Web
Inscription : juin 2008
Messages : 13 808
Détails du profil
Informations personnelles :
Nom : Homme Didier Mouronval
Âge : 41
Localisation : France, Gironde (Aquitaine)

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : juin 2008
Messages : 13 808
Points : 35 793
Points : 35 793
Citation:
Il n'y a pas de soucis au niveau du JavaScript
Si quand même un peu, parce que ta fonction fadeIn() n'est pas très propre...
Enclencher toute une série de setTimeout dans une boucle for n'est pas la meilleure option, d'autant que la précision est assez aléatoire pour des durées inférieures à 25ms.

Mais surtout, il ne faut pas oublier, à la fin de l'animation, de remettre la div à la valeur finale souhaitée de l'opacité, dans ton cas, il y a fort à parier que la dernière valeur affectée soit légèrement inférieure à 1 ce qui provoque l'affichage fautif.
__________________
Pas de question technique par MP !
Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
Vous possédez un blog et aimeriez diffuser vos billets sur le forum, contactez-moi !
Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
Mon livre sur jQuery
Bovino est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/11/2011, 14h32   #3
Membre habitué
 
Inscription : mai 2004
Messages : 383
Détails du profil
Informations forums :
Inscription : mai 2004
Messages : 383
Points : 129
Points : 129
Bien vu, ca finit à 0.95 !
Ce script, je l'ai trouvé ici:
http://www.ninthavenue.com.au/blog/j...t-fade-effects
Je l'ai apprécié parce qu’il est simple, court et facile à adapter, avec une fonction fadeIn et une fadeOut, c'est tout ce dont j'avais besoin...

Maintenant si quelqu'un connait une autre script dans le même style avec un fadeIn et un fadeOut, je suis preneur
Sinon, je sens le if > 0.9 alors on met 1, lol !!!

Merci pour ton aide.
defacta est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/11/2011, 14h34   #4
Rédacteur/Modérateur
 
Avatar de SpaceFrog
 
Homme
Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Inscription : mars 2002
Messages : 30 070
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Royaume-Uni

Informations professionnelles :
Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Secteur : Industrie

Informations forums :
Inscription : mars 2002
Messages : 30 070
Points : 45 201
Points : 45 201
J'ai également rencontré des soucis de fadeIn avec des fonts bold principalement sous IE
J'ai countourné en ajoutant une couleur de fond au div fadé ...
mais cela ne repond pas à tous les besoins
__________________
Ma page Developpez
Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
Votre post est résolu ? Alors n'oubliez pas le Tag


réalisations :www.planet-languages.com|www.saftair.com| www.ouestisol.fr | www.sebemex.fr | www.extramiante.fr | www.sistac-alizay.fr | www.acoustishop.fr | www.litt.fr | www.ouestventil.fr
SpaceFrog est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 17h13.


 
 
 
 
Partenaires

Hébergement Web