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 :

modifier css a l'aide du JS


Sujet :

JavaScript

  1. #1
    Membre du Club
    Inscrit en
    Octobre 2010
    Messages
    56
    Détails du profil
    Informations forums :
    Inscription : Octobre 2010
    Messages : 56
    Points : 46
    Points
    46
    Par défaut modifier css a l'aide du JS
    bonjour tout le monde
    J'ai créer 4 css différents(1 pour chaque saison)
    En to
    J'aimerais ensuite créer un sorte de commande qui fait que si on est en automne il affiche le theme automne.css, si on est hiver il affiche le theme hiver.css de sorte qu'il sait que c'est l'hiver ou l'automne à l'aide de date

    Je pense que cela doit ce faire en Javascript mais comment ?
    Merci beaucoup beaucoup pour l'aide

  2. #2
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Gironde (Aquitaine)

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

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 220
    Points
    91 220
    Billets dans le blog
    20
    Par défaut
    Non, dans l'idéal, ce serait mieux et plus propre de le faire coté serveur (PHP par exemple).
    Sinon, il est possible de vérifier la date avec l'objet Date() et ses méthode getMonth() (attention, le compte des mois commence à 0) et getDate()
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    var today = new Date();
    alert(today.getDate() + '/' + (today.getMonth() + 1));
    à partir de là, tu peux retrouver la saison et donc la feuille de style à utiliser.
    Ensuite tu peux ajouter une nouvelle feuille de style avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    var seasonCSS = document.createElement('link');
    seasonCSS.type = 'text/css';
    seasonCSS.href = 'season.css';
    document.getElementByTagName('head')[0].appendChild(seasonCSS);

  3. #3
    Membre du Club
    Inscrit en
    Octobre 2010
    Messages
    56
    Détails du profil
    Informations forums :
    Inscription : Octobre 2010
    Messages : 56
    Points : 46
    Points
    46
    Par défaut
    bonjour,
    merci pour l'aide mais ca n'a pas marché alors j'ai créé une fonction qui retourne le mois et donne la feuilled e style à uriliser mais qu'en même ça ne marche pas,je crois que j'ai fait un erreur de syntaxe
    je l'ai mis dans le head de la page


    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
    function saison()
    {
    <%--declaration --%>
     
    var mois=new int;
    <%--retourner le mois courant--%>
    var madate=new date; 
    mois=madate.getmonth;
    <%--test sur le mois courant--%>
    if(mois==9 || mois==10 || mois==11 )             
    {
     document.write('<link rel="stylesheet" type="text/css" href="CSS\automne.css">');}
     
    if (mois==0 || mois==1 || mois==2)
        {document.write('<link rel="stylesheet" type="text/css" href="CSS\hiver.css">');}
    if (mois==3 || mois==4 || mois==5)
    {document.write('<link rel="stylesheet" type="text/css" href="CSS\printemps.css">');}
     
    if (mois==6 || mois==7 || mois==8)
    {document.write('<link rel="stylesheet" type="text/css" href="CSSté.css">');}
     
    }

    vous pouvez me mentrer l'emplacement de l'erreur ????merci beaucoup pour l'aide

  4. #4
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Points : 15 059
    Points
    15 059
    Par défaut
    Bonjour,
    Pourquoi tu utilises document.write? c'est déconseillé. Le plus propre c'est d'utilisé la methode proposée par Bovino.
    var madate=new date;
    mois=madate.getmonth;
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    var madate=new Date(); 
    mois=madate.getMonth();
    CSS\automne.css
    A+.

  5. #5
    Membre du Club
    Inscrit en
    Octobre 2010
    Messages
    56
    Détails du profil
    Informations forums :
    Inscription : Octobre 2010
    Messages : 56
    Points : 46
    Points
    46
    Par défaut
    Merci beaucoup de votre aide.
    J'aime bien utiliser la méthode que BOVINO m'a proposé mais je ne sais pas comment l'utiliser pour faire le test

  6. #6
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Points : 15 059
    Points
    15 059
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    var madate=new Date(); 
    var mois=madate.getMonth();
    var seasonCSS = document.createElement('link');
    seasonCSS.type = 'text/css';
    if(mois <3){
     seasonCSS.href="CSS/hiver.css";
    }else if(mois < 5){
     seasonCSS.href="CSS/printemps.css";
    } else if(mois < 8){
     seasonCSS.href="CSS/ete.css"; //n'utilise  pas un nom de fichier avec un accent
    } else{
     seasonCSS.href="CSS/automne.css";
    }
    document.getElementByTagName('head')[0].appendChild(seasonCSS);

  7. #7
    Membre du Club
    Inscrit en
    Octobre 2010
    Messages
    56
    Détails du profil
    Informations forums :
    Inscription : Octobre 2010
    Messages : 56
    Points : 46
    Points
    46
    Par défaut
    Citation Envoyé par andry.aime Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    var madate=new Date(); 
    var mois=madate.getMonth();
    var seasonCSS = document.createElement('link');
    seasonCSS.type = 'text/css';
    if(mois <3){
     seasonCSS.href="CSS/hiver.css";
    }else if(mois < 5){
     seasonCSS.href="CSS/printemps.css";
    } else if(mois < 8){
     seasonCSS.href="CSS/ete.css"; //n'utilise  pas un nom de fichier avec un accent
    } else{
     seasonCSS.href="CSS/automne.css";
    }
    document.getElementByTagName('head')[0].appendChild(seasonCSS);

    merci beaucoup beaucoup mais le meme probleme se pose toujours,le style ne s'applique pas aux pages je ne sais pas si je dois mettre ce code dans la page master ou bien dans chacune des pages et comment faire l'appel à cette fonction+que mon directeur m'a demandé de faire un dossier de theme alors que ca me pose un immense probleme car je suis debutante
    desolé pour le derangement et Merci beaucoup de Votre aide

    :'(

  8. #8
    Invité
    Invité(e)
    Par défaut
    il faut mettre ce code dans chaques pages


    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
     
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
     
    <html xmlns="http://www.w3.org/1999/xhtml">
     
    <head>
     
    <script type="text/javascript" language="JavaScript">
     
    var madate=new Date(); 
    var mois=madate.getMonth();
    var seasonCSS = document.createElement('link');
    seasonCSS.type = 'text/css';
    if(mois <3){
     seasonCSS.href="CSS/hiver.css";
    }else if(mois < 5){
     seasonCSS.href="CSS/printemps.css";
    } else if(mois < 8){
     seasonCSS.href="CSS/ete.css"; //n'utilise  pas un nom de fichier avec un accent
    } else{
     seasonCSS.href="CSS/automne.css";
    }
    document.getElementByTagName('head')[0].appendChild(seasonCSS);
     
    </script>
     
    </head>
     
    <body>
    le contenu le contenu le contenu le contenu
     
    </body>
    </html>

  9. #9
    Membre du Club
    Inscrit en
    Octobre 2010
    Messages
    56
    Détails du profil
    Informations forums :
    Inscription : Octobre 2010
    Messages : 56
    Points : 46
    Points
    46
    Par défaut
    merci beaucoup pour la reponse

  10. #10
    Invité
    Invité(e)
    Par défaut
    aussi pour eviter de recopier a chaque fois ce code par page on met le code dans un fichier avec l'extension js que l'on nomera pour l'exemple css.js

    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
     
    var madate=new Date(); 
    var mois=madate.getMonth();
    var seasonCSS = document.createElement('link');
    seasonCSS.type = 'text/css';
    if(mois <3){
     seasonCSS.href="CSS/hiver.css";
    }else if(mois < 5){
     seasonCSS.href="CSS/printemps.css";
    } else if(mois < 8){
     seasonCSS.href="CSS/ete.css"; //n'utilise  pas un nom de fichier avec un accent
    } else{
     seasonCSS.href="CSS/automne.css";
    }
    document.getElementByTagName('head')[0].appendChild(seasonCSS);

    puis toujour dans chaque page html on appel le fichier

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    
    <head>
    
    <script type="text/javascript" language="JavaScript" src="css.js"></script>
    
    </head>
    <body>
    
    </body>
    </html>

  11. #11
    Membre du Club
    Inscrit en
    Octobre 2010
    Messages
    56
    Détails du profil
    Informations forums :
    Inscription : Octobre 2010
    Messages : 56
    Points : 46
    Points
    46
    Par défaut
    MERCI à vous tous en fin de compte je n'ai utilisé que le code ASP.net dans l'evenement page-preinit et ca marche tres bien meme si ca me derange de repeter le code dans chaque page voila le resultat final
    et encore merci à tous ceux qui m'ont donné un coup de main ca me servira beaucoup



    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
     Protected Sub Page_PreInit(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.PreInit
            Try
                Dim mois As Integer = Format(Now, "mm")
                If mois < 3 Then Page.Theme = "hiver" Else 
                If mois < 6 Then
                    Page.Theme = "printemps"
                Else
                    If mois < 9 Then
                        Page.Theme = "ete"
                    Else
                        Page.Theme = "automne"
                    End If
                End If
            Catch ex As Exception
                MsgBox(ex.Message)
            End Try
        End Sub

  12. #12
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Gironde (Aquitaine)

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

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 220
    Points
    91 220
    Billets dans le blog
    20
    Par défaut
    Citation Envoyé par Bovino Voir le message
    dans l'idéal, ce serait mieux et plus propre de le faire coté serveur (PHP par exemple).

  13. #13
    Membre du Club
    Inscrit en
    Octobre 2010
    Messages
    56
    Détails du profil
    Informations forums :
    Inscription : Octobre 2010
    Messages : 56
    Points : 46
    Points
    46
    Par défaut
    Citation Envoyé par Bovino Voir le message
    merci bovino mais jusqu'à maintenant je ne sais pas c'est quoi coté serveur " y a encore pleiiiiine choses que je dois apprendre "

  14. #14
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Gironde (Aquitaine)

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

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 220
    Points
    91 220
    Billets dans le blog
    20
    Par défaut
    Citation Envoyé par marie-anne
    je ne sais pas c'est quoi coté serveur
    C'est ce que tu fais en asp.net
    En gros, c'est le langage que tu utilises sur le serveur pour créer dynamiquement le contenu généré pour le navigateur (appelé client).
    Citation Envoyé par marie-anne
    " y a encore pleiiiiine choses que je dois apprendre "
    Bah, sincèrement, comme tout le monde
    Celui qui est persuadé de ne plus rien avoir à apprendre est selon moi un gros con prétentieux...

    Sauf moi bien sûr qui connait tout sur JavaScript !

  15. #15
    Membre du Club
    Inscrit en
    Octobre 2010
    Messages
    56
    Détails du profil
    Informations forums :
    Inscription : Octobre 2010
    Messages : 56
    Points : 46
    Points
    46
    Par défaut
    merci bovino ça se voit que j'aurai toujours besoin de votre forum
    il est vraiment super merci @ vous pour les immenses efforts que vous faites

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Besoin d'aide pour modifier css d'un menu via js
    Par axorama dans le forum jQuery
    Réponses: 14
    Dernier message: 31/08/2010, 15h48
  2. Modifier une sous classe CSS a l'aide du javascript
    Par renayz dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 23/04/2009, 19h28
  3. Comment modifier le contraste à l'aide d'un slider ?
    Par MilouTux dans le forum Interfaces Graphiques
    Réponses: 2
    Dernier message: 18/05/2007, 15h41
  4. Réponses: 11
    Dernier message: 14/10/2006, 21h26
  5. [CSS] Besoin d'aide pour mise en forme !
    Par TorF dans le forum Mise en page CSS
    Réponses: 6
    Dernier message: 19/03/2005, 19h28

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