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 30/12/2011, 11h11   #1
Membre éclairé
 
Homme Yann
IUT Informatique
Inscription : mars 2011
Messages : 342
Détails du profil
Informations personnelles :
Nom : Homme Yann
Localisation : France

Informations professionnelles :
Activité : IUT Informatique

Informations forums :
Inscription : mars 2011
Messages : 342
Points : 375
Points : 375
Par défaut Recharger le css

Bonjour,

je voudrai savoir si c'est possible de recharger le css d'une div?
En faite, apres une requete ajax, j'ajoute en JS des lignes dans un <table>, mais mon souci, c'est ce que j'ajoute ne prend pas le css définis. Je suis obligé de recharger ma page pour avoir le bon css, j'arrive pas à trouver comment contourner ça...

Merci d'avance.

Edit: je viens de me rendre compte que je ne suis pas dans la bonne partie du forum désolé
malgache est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 30/12/2011, 14h21   #2
Membre régulier
 
Inscription : décembre 2007
Messages : 61
Détails du profil
Informations forums :
Inscription : décembre 2007
Messages : 61
Points : 83
Points : 83
Bonjour.

Normalement tes styles devraient s'appliquer instantanément sans intervention de ta part. La première chose à faire est donc de vérifier avec un inspecteur DOM que tu ajoute bien tes éléments au bon endroit (une erreur est vite arrivée), et que les selecteurs de tes règles CSS matchent bien ces éléments.

Dans le cas où tout est bon de ton côté mais que malgré tout cela ne fonctionne pas (peu probable mais pas impossible, j'ai déjà eu des bugs similaires sur de vieux intranets IE only...), une solution très simple est de forcer le navigateur à re-rentrer dans sa boucle de rendu : reflow + redraw.

La manière la plus simple de faire celà est de changer les dimensions de ton conteneur.

Code :
1
2
3
4
5
6
7
8
9
 
 
// ici ton append qui fonctionne à moitié
// car pas de style
maTable.appendChild(mesLignes);
 
window.setTimeout(function(){
    maTable.parent.style.height = parseInt(maTable.parent.style.height, 10) + 1 + 'px';
}, 15);
Ici utiliser un setTimeout peut parfois être utile car les navigateurs ont pour habitude de "batcher" autant que possible les modifications DOM afin d'éviter de couteux cycles de reflow/redraw succesifs.
TheGwy est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 08h26.


 
 
 
 
Partenaires

Hébergement Web