IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

jQuery Discussion :

plugin Corner. Latence CSS au chargement de la page php


Sujet :

jQuery

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé Avatar de renaud26
    Homme Profil pro
    Webmaster
    Inscrit en
    Mars 2003
    Messages
    1 365
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Mars 2003
    Messages : 1 365
    Par défaut plugin Corner. Latence CSS au chargement de la page php
    Bonjour à tous,

    J'utilise la librairie jsquery corner pour créer des angles arrondis.
    Le résultat est impeccable mais ma question est la suivante :

    Lorsque je rafraîchis la page (php sur mon serveur local) je vois nettement que les bords du DIV sont d'abord carrés puis deviennent arrondis une demi-seconde plus tard...comme si il y avait un temps de "latence" avant que le CSS ne s'applique. Sur IE comme sur FF.

    Comment éviter cela ? Avec des header PHP ? Avec un genre de preload JS ?

    Merci pour pistes / conseils.

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    59
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations forums :
    Inscription : Janvier 2007
    Messages : 59
    Par défaut
    Tu pourrais par exemple appliquer les modification sur un div invisible et le rendre visible ensuite?

  3. #3
    Membre Expert
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    1 132
    Détails du profil
    Informations personnelles :
    Âge : 53
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 132
    Par défaut
    Bonjour,

    Le javascript étant exécuté après chargement de la page html c'est tout à fait normal.
    Tu peux éventuellement essayer de "masquer" par défaut le contenu de ta page et ne le rendre visible qu'après la transformation. (<body style="display:none"> dans le HTML généré par PHP)

    devyan

  4. #4
    Membre éprouvé Avatar de renaud26
    Homme Profil pro
    Webmaster
    Inscrit en
    Mars 2003
    Messages
    1 365
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Mars 2003
    Messages : 1 365
    Par défaut
    Merci à vous deux. Effectivement les soluces que vous proposez sont assez futées, je les teste et je reviens vous dire ce qu'il en est.

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    59
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations forums :
    Inscription : Janvier 2007
    Messages : 59
    Par défaut
    Le javascript n'est pas forcément lancé après le chargement du HTML. Par exemple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    <html>
    	<head>
    		<title>Order test</title>
    	</head>
    	<body>
    		<script type="text/javascript">
                             alert("Avant le span");
                    </script>
                    <span>Chargé après l'alert</span>
    	</body>
    </html>

  6. #6
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

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

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 659
    Billets dans le blog
    1
    Par défaut
    Salut voisin

    en effet on peut eventuellement lancer la fonction de cornerisation juste après l'instanciation de l'objet ...

    Mais je suppose que ce pluggin de jquery et basé comme à l'habitude sur un className...
    il faudrait modifier légèrement le pluggin pour lui passer des ids ...

    Tu testes avec quel navigateur ?
    Après c'est une question de temps de chargement
    Ma page Developpez - Mon Blog 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

    Venez sur le Chat de Développez !

  7. #7
    Membre éprouvé Avatar de renaud26
    Homme Profil pro
    Webmaster
    Inscrit en
    Mars 2003
    Messages
    1 365
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Mars 2003
    Messages : 1 365
    Par défaut
    Euh... je ne sais pas si la question s'adresse à moi....mais là je teste avec IE.
    En gros, ça donne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
     
    <head>
    <style>
    .arrondi{
    	background-color: #ccc;
    	z-index:1;
    	top:15px;
    	margin-left:530px;
    	width: 233px;
    	height:450px;
    	padding: 10px;
    	border: 2px solid #06C;
    }
    </style>
    <script type="text/javascript">
    $(window).load(function(){
    $('.arrondi').bg(14);
    });
    </script>
    </head>
     
    <body>
    <div id="global">
        <div id="corps">
            <div id="div_arrondi" class="arrondi">Mon DIV arrondi</div>
        </div>
    </div>
    </body>

  8. #8
    Rédacteur

    Avatar de danielhagnoul
    Homme Profil pro
    Étudiant perpétuel
    Inscrit en
    Février 2009
    Messages
    6 389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant perpétuel
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2009
    Messages : 6 389
    Billets dans le blog
    125
    Par défaut
    Bonsoir.

    Citation Envoyé par renaud26 Voir le message
    Euh... je ne sais pas si la question s'adresse à moi....mais là je teste avec IE.
    En gros, ça donne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    <head>
    <style>
    .arrondi{
    	background-color: #ccc;
    	z-index:1;
    	top:15px;
    	margin-left:530px;
    	width: 233px;
    	height:450px;
    	padding: 10px;
    	border: 2px solid #06C;
    }
    </style>
    <script type="text/javascript">
    $(window).load(function(){
    $('.arrondi').bg(14);
    });
    </script>
    </head>
    
    <body>
    <div id="global">
        <div id="corps">
            <div id="div_arrondi" class="arrondi">Mon DIV arrondi</div>
        </div>
    </div>
    </body>
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <script type="text/javascript">
    $(function(){
    $('.arrondi').bg(14);
    });
    </script>
    L'événement window load se produit après le chargement de la page, il est donc normal de voir d'abord l'élément DOM ayant la classe arrondi non arrondi !

    Tandis qu'avec $(document).ready(function(){ ...}) ; ou $(function(){ ...}) ; forme abrégée du premier, le traitement de l'arrondi se ferra avant l'affichage de la page.

    Blog

    Sans l'analyse et la conception, la programmation est l'art d'ajouter des bogues à un fichier texte vide.
    (Louis Srygley : Without requirements or design, programming is the art of adding bugs to an empty text file.)

  9. #9
    Membre Expert
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    1 132
    Détails du profil
    Informations personnelles :
    Âge : 53
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 132
    Par défaut
    Citation Envoyé par Mohicane Voir le message
    Le javascript n'est pas forcément lancé après le chargement du HTML. Par exemple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    <html>
    	<head>
    		<title>Order test</title>
    	</head>
    	<body>
    		<script type="text/javascript">
                             alert("Avant le span");
                    </script>
                    <span>Chargé après l'alert</span>
    	</body>
    </html>

    Dans l'absolu c'est vrai et cela permet de modifier des morceaux de code pendant le chargement.

    Par contre dans le cas qui nous intéresse ici, le javascript est utilisé pour modifier la page générée.
    Nous avons donc besoin d'attendre que tous les éléments susceptibles d'être "arrondis" soient chargés.

    devyan

  10. #10
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

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

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 659
    Billets dans le blog
    1
    Par défaut
    Tu peux essayer
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    <head>
    <style>
    .arrondi{
    	background-color: #ccc;
    	z-index:1;
    	top:15px;
    	margin-left:530px;
    	width: 233px;
    	height:450px;
    	padding: 10px;
    	border: 2px solid #06C;
    }
    </style>
     
    </head>
     
    <body>
    <div id="global">
        <div id="corps">
            <div id="div_arrondi" class="arrondi">Mon DIV arrondi</div>
            <script type="text/javascript">
               $('#div_arrondi').bg(14);
            </script>
        </div>
    </div>
    </body>
    Ma page Developpez - Mon Blog 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

    Venez sur le Chat de Développez !

  11. #11
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    59
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations forums :
    Inscription : Janvier 2007
    Messages : 59
    Par défaut
    Oui, je suis d'accord pour le coup. Ta phrase manquait juste de précision sur le moment.

Discussions similaires

  1. chargement d'une page php grace a onclick
    Par zaki chan dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 19/01/2010, 14h39
  2. [Dojo] Chargement d'une page php
    Par Lulu_n10 dans le forum Bibliothèques & Frameworks
    Réponses: 1
    Dernier message: 05/05/2009, 18h30
  3. Déclencher le chargement d'une page php
    Par Freedolphin dans le forum Langage
    Réponses: 2
    Dernier message: 03/04/2009, 11h26
  4. [DOM] Sous-menu ouvert au chargement d'une page php
    Par citronized dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 19/01/2009, 15h58

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo