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

JavaScript Discussion :

JS ne reconnait pas le CSS non initialis� dans la balise?


Sujet :

JavaScript

Vue hybride

Message pr�c�dent Message pr�c�dent   Message suivant Message suivant
  1. #1
    Membre �clair� Avatar de SPACHFR
    Profil pro
    Paaaaaa
    Inscrit en
    F�vrier 2004
    Messages
    557
    D�tails du profil
    Informations personnelles :
    Localisation : France, Paris (�le de France)

    Informations professionnelles :
    Activit� : Paaaaaa

    Informations forums :
    Inscription : F�vrier 2004
    Messages : 557
    Par d�faut JS ne reconnait pas le CSS non initialis� dans la balise?
    Bonjour,

    Je fais un petit test de changement de taille d'un DIV en javascript. Cependant j'ai un probl�me avec le CSS.
    Dans le cas ou les propri�t�s de style sont directement misent dans la balise <div> mon code fonctionne bien.
    D�s que je passe ces propri�t�s de style dans la balise html <style> le code ne fonctionne plus et par en boucle avec des erreurs d'analyse sur les propri�t�s top, weight,etc....
    Je ne comprend pas pourquoi ?
    Pourriez vous m'expliquer ce qui se passe ?

    MERCI

    L'exemple qui fonctionne
    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
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
     
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
    <html>
    <head>
    <style type="text/css">
    </style>
    <script type="text/javascript">
    var TIMER;
    function go(){
     var speed = 12;
     TIMER=setInterval("expandBox()", speed);
     
    }
    function expandBox(){
    var t= document.getElementById("mbox");
     if(t) {
    	if(parseInt(t.style.width)>200){clearInterval(TIMER);return false;}
        var step = 5;
        var cwidth = parseInt(t.style.width);
    	var cheight = parseInt(t.style.height);
    	if(cheight<=0){cheight=1;}
    	if(cwidth<=0){cwidth=1;}
    	var pwidth = parseInt((screen.availWidth/2)-(cwidth/2));
    	var pheight = parseInt((screen.availHeight/3)-(cheight/2));
    	t.style.left = pwidth+'px';
    	t.style.top = pheight+'px';
    	t.style.width = cwidth+step+'px';
    	t.style.height = cheight+step+'px';
    	t.style.border="solid";
    	t.style.borderWidth="5px";
    	t.style.borderColor="black";
       }
    }
    </script>
    </head>
    <body onclick="go();">
    <div id="mbox" style="display:block;width:1px;height:1px;background-color:#D1D8D8;position:absolute;top:0px;left:0px;">
    <div>
    </body>
    </html>
    L'exemple qui boucle (seul le CSS � �t� d�plac� dans la balise <style>)

    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
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
     
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
    <html>
    <head>
    <style type="text/css">
    #mbox{
    display:block;
    width:1px;
    height:1px;
    background-color:#D1D8D8;
    position:absolute;
    top:0px;
    left:0px;
    }
    </style>
    <script type="text/javascript">
    var TIMER;
    var BREAKER=0;
    function go(){
     var speed = 12;
     TIMER=setInterval("expandBox()", speed);
     
    }
    function expandBox(){
    var t= document.getElementById("mbox");
     if(t) {
    	if(parseInt(t.style.width)>200){clearInterval(TIMER);return false;}
        var step = 5;
        var cwidth = parseInt(t.style.width);
    	var cheight = parseInt(t.style.height);
    	if(cheight<=0){cheight=1;}
    	if(cwidth<=0){cwidth=1;}
    	var pwidth = parseInt((screen.availWidth/2)-(cwidth/2));
    	var pheight = parseInt((screen.availHeight/3)-(cheight/2));
    	t.style.left = pwidth+'px';
    	t.style.top = pheight+'px';
    	t.style.width = cwidth+step+'px';
    	t.style.height = cheight+step+'px';
    	t.style.border="solid";
    	t.style.borderWidth="5px";
    	t.style.borderColor="black";
       }
      BREAKER++;
     if(BREAKER>200){clearInterval(TIMER);return false;}  
    }
    </script>
    </head>
    <body onclick="go();">
    	<div id="mbox">
    	<div>
    </body>
    </html>

  2. #2
    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
    il faut soit passer par les offset quand c'est possible ou les getComputedStyle; mais l� encore certaines propri�t�s de styles sont hors de port�e pour certains navigateurs (border[...] pour ffx par ex.)

    Soit tu laisses le style dans la balise ou tu l'applique dynamiquement sur le onload.
    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 !

  3. #3
    Membre �clair� Avatar de SPACHFR
    Profil pro
    Paaaaaa
    Inscrit en
    F�vrier 2004
    Messages
    557
    D�tails du profil
    Informations personnelles :
    Localisation : France, Paris (�le de France)

    Informations professionnelles :
    Activit� : Paaaaaa

    Informations forums :
    Inscription : F�vrier 2004
    Messages : 557
    Par d�faut
    Merci pour cette r�ponse.

    Une petit pr�cision.
    Je n'arrive pas � comprendre pourquoi �a fonctionne pas.
    Mon DIV existe, le CSS est d�clar�, et la fonction Javascript est ex�cut�e que lors du click sur le BODY de la page. Donc tout les �l�ments de la page sont bien charg� et connus.
    En plus je viens de r�aliser qu'avec le DOCTYPE, mon code ne fonctionne pas sous IE, par contre si je le vire �a fonctionne (pour le premier exemple)


    C'est juste un petit exercice perso je reste zen

  4. #4
    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
    Je n'arrive pas � comprendre pourquoi �a fonctionne pas.
    Oubli de developpement
    bug
    ...
    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 !

  5. #5
    Membre �clair� Avatar de SPACHFR
    Profil pro
    Paaaaaa
    Inscrit en
    F�vrier 2004
    Messages
    557
    D�tails du profil
    Informations personnelles :
    Localisation : France, Paris (�le de France)

    Informations professionnelles :
    Activit� : Paaaaaa

    Informations forums :
    Inscription : F�vrier 2004
    Messages : 557
    Par d�faut
    Bon, je vais suivre ton conseil (dynamiquement).
    Pas grave, c'�tait juste un test pour me faire une Box perso avec un petit effet lors de l'ouverture. Le principe de l'effet fonctionne, je vais tenter de faire un truc propre et complet.
    Je sais qu'il en existe d�j� pas mal, mais c'est de auto-formation et c'est le seul moyen de progresser.

    Merci pour ton aide

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. table css non repercut� dans les tables fils
    Par dietrich dans le forum Mise en page CSS
    R�ponses: 3
    Dernier message: 22/03/2011, 09h04
  2. CSS non charg� dans Thickbox sous Safari
    Par will89 dans le forum Mise en page CSS
    R�ponses: 4
    Dernier message: 17/07/2008, 10h24
  3. R�ponses: 2
    Dernier message: 06/12/2007, 15h07
  4. CSS non charg� dans ie6
    Par gunth dans le forum Mise en page CSS
    R�ponses: 1
    Dernier message: 05/10/2007, 13h45
  5. le javascript de firefox ne reconnait pas le css externe ?
    Par reski dans le forum G�n�ral JavaScript
    R�ponses: 4
    Dernier message: 27/03/2006, 13h23

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