Problème :
Un script exécuté à l'aide de $ (document).ready() provoque des problèmes d'alignement vertical des éléments de bloc. Il est mystérieusement en retard ou désaligne les éléments.
Question :
Est-il possible que l'exécution d'un script sur DOM-ready ne fournisse pas toutes les valeurs CSS correctes injectées dans le DOM ?
Réponse :
Selon les notes de version de jQuery 1.3 :
"La méthode ready() n'essaie plus de donner aucune garantie sur en attendant que toutes les feuilles de style soient chargées. Au lieu de cela, tous les fichiers CSS doivent être inclus avant les scripts sur la page."
Cela signifie que il est crucial d'inclure tous les fichiers CSS dans le répertoire
en utilisant éléments avant de charger des scripts. Ne pas le faire peut entraîner un comportement imprévisible, en particulier dans les navigateurs basés sur WebKit comme Safari.De manière inattendue, placer le CSS au-dessus des scripts peut ne pas résoudre complètement le problème. CSS se télécharge de manière asynchrone, permettant au chargement de JS de démarrer et de se terminer même pendant le téléchargement de CSS.
Des expériences utilisant le script cuzillion.com de Steve Souders révèlent que l'exécution de JS est parfois retardée jusqu'à ce que CSS soit chargé, malgré les preuves en cascade montrant JS. achèvement avant la fin du téléchargement du CSS.
Cependant, des tests plus approfondis indiquent que la règle d'arrêt de JS jusqu'à ce que le CSS soit défini précédemment n'est pas universelle. Il semble y avoir une interaction entre les séquences de chargement externes JS et CSS.
En résumé, pour éviter les incohérences et garantir un fonctionnement fiable de votre script, il est préférable d'inclure tous les fichiers CSS avant tout script sur la page, comme recommandé. dans la documentation jQuery.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!