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 :

Fonction body onload


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Mai 2006
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 15
    Par défaut Fonction body onload
    Bonjour à tous,

    J'ai un petit problème avec un script que je ne parviens pas à placer ou je le souhaite dans mes pages html.

    En effet, il s'agit d'une fonction "body onload", et je ne connais pas son fonctionnement.

    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
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    <html>
    <head>
     
     
     
     
     
     
     
     
      <title>exemple4</title>
      <script language="Javascript">
    var sem=new Array(7);
    var a=0,b=0;
    sem[1]="Monday";
    sem[2]="Tuesday";
    sem[3]="Wednesday";
    sem[4]="Thursday";
    sem[5]="Friday";
    sem[6]="Saturday";
    sem[0]="Sunday";
    var _12mois=new Array(12);
    _12mois[0]="January";
    _12mois[1]="February";
    _12mois[2]="March";
    _12mois[3]="April";
    _12mois[4]="May";
    _12mois[5]="June";
    _12mois[6]="July";
    _12mois[7]="August";
    _12mois[8]="September";
    _12mois[9]="October";
    _12mois[10]="November";
    _12mois[11]="Décember";
    var date=new Date(); //déclaration d'une variable de type date qui contient la date courante
    var mois=date.getMonth(); //la variable mois contient le N° du mois de 0 à 11
    var jour=date.getDate();
    var annee=date.getFullYear();
    var jour_sem=date.getDay();
    document.write(("On "+sem[jour_sem]+", "+_12mois[mois]+" "+jour+", "+annee+"... MY SPECIAL RISK-FREE OFFER* WILL EXPIRE ! <br>").bold().fontcolor("red").fontsize("5").italics());
    function aff() {
    var horl = new Date();
    var heure=horl.getHours(); min=horl.getMinutes(); sec=horl.getSeconds();
    document.form1.texte.value=heure+"h "+(min<10?"0":"")+min+"m "+(sec<10?"0":"")+sec+"s";
    document.getElementById("he").innerHTML="- 0 day(s) "+(23-heure)+" hour(s) "+(min>50?"0":"")+(59-min)+" minute(s) "+(sec>=50?"0":"")+(59-sec)+" second(s)";
    //val();
    document.getElementById("he").style.left = document.body.scrollLeft + a;
    document.getElementById("he").style.top = document.body.scrollTop + b;
    setTimeout('aff()',10);
    }
      </script>
    </head>
     
     
    <body onLoad="aff()" style="background-color: rgb(0, 0, 0); color: rgb(0, 0, 0);" alink="#ee0000" link="#0000ee" vlink="#551a8b">
     
     
     
    <div style="text-align: center;"><font><span style="color: rgb(255, 0, 0);"><big><span style="font-weight: bold;"><br>
     
     
     
    </span><small>* During my special time-limited offer, you
    will get all my products for only $14.99 instead of $584.99</small></big><br>
     
     
     
    </span></font></div>
     
     
     
    <div style="text-align: center;"><font><span style="font-weight: bold; color: rgb(255, 0, 0);"></span></font>
    <form style="height: 21px; background-color: rgb(0, 0, 0);" name="form1"> <input style="font-family: tahoma,verdana; color: red; font-size: 8pt;" name="texte" value="Display hour" onClick="if (document.form1.texte.value='Display hour') aff()" type="hidden">
      <big style="color: rgb(255, 0, 0);"><span style="font-weight: bold;">Counting down to the end of the
    special offer :</span></big><br style="color: rgb(255, 0, 0);">
     
     
     
    <big style="color: rgb(255, 0, 0);"><span style="font-weight: bold;">
    </span></big>
    </form>
     
     
     
    </div>
     
     
     
    <div style="text-align: center;"></div>
     
     
     
    <div id="he" style="font-family: tahoma,verdana; font-size: 18pt; font-weight: bold; background-color: rgb(0, 0, 0); color: rgb(255, 0, 0); text-align: center;"><br>
     
     
     
    </div>
     
     
     
    <div style="text-align: center;"></div>
     
     
     
    <div style="color: rgb(255, 0, 0); text-align: center;"></div>
     
     
     
    <div style="text-align: center;"><span style="color: rgb(255, 0, 0);"><br>
     
     
     
    After my special offer expires, you will still be able to buy the bonus
    package separately for $199 instead of $570</span></div>
     
     
     
    </body>
    </html>
    J'ai remarqué que la balise <body onload> remplace la balise <body>, de sorte que je ne peux pas placer mon compteur ou je veux dans mes pages, sans mettre en péril son fonctionnement.

    Quelqu'un aurait-il une solution de secours afin de me permettre de placer mon compteur ou je veux sans problème ? Et comment faire pour centrer la ligne ou apparait la date (il semblerait que celle-ci se charge systématiquement en haut de page, et non dans le meme bloc que le reste du compteur).

    Voici un lien ou vous pourrez voir à quoi ressemble le compteur et comment il se comporte :

    http://www.letsgetyourmoneyback.com/sheriftest19.html

    Merci beaucoup pour votre aide,

    Thomas

  2. #2
    Expert confirmé
    Avatar de Auteur
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    7 660
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 7 660
    Par défaut
    bonjour,

    J'ai remarqué que la balise <body onload> remplace la balise <body>, de sorte que je ne peux pas placer mon compteur ou je veux dans mes pages, sans mettre en péril son fonctionnement.
    sais-tu ce qu'est l'événement onload ?
    onload="fonction()" exécute la fonction "fonction" lorsque la page est totalement chargée. Dans ton cas, lorsque la page est chargée, la fonction aff() est exécutée. Rien de plus.

    Quelqu'un aurait-il une solution de secours afin de me permettre de placer mon compteur ou je veux sans problème ? Et comment faire pour centrer la ligne ou apparait la date (il semblerait que celle-ci se charge systématiquement en haut de page, et non dans le meme bloc que le reste du compteur).
    il y a dans ton code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    document.getElementById("he").style.left = document.body.scrollLeft + a;
    document.getElementById("he").style.top = document.body.scrollTop + b;
    qui permettent de placer ton div he où tu veux. Il faut donner des valeurs à a et b (qui sont initialisées à 0).

    Un conseil en passant : aère ton code qui n'est vraiment pas évident à lire (surtout la CSS).

  3. #3
    Membre averti
    Inscrit en
    Mai 2006
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 15
    Par défaut
    Salut merci beaucoup pour ta réponse. Malheureusement j'ai passé une heure à chercher sur internet et à faire des tests, mais je ne parviens pas à assigner une valeur à a et b.

    J'ai essayé les :, les (), les =, les +, les -, avec px, avec %... et bien d'autres encore.

    Mais je suis débutant en javascript et je ne parviens pas à assigner cette valeur à a et b.

    Merci à toi ou à celui qui voudra bien m'expliquer comment faire.

    A plus,

    Thomas

  4. #4
    Membre émérite Avatar de Sheriff
    Inscrit en
    Octobre 2004
    Messages
    608
    Détails du profil
    Informations forums :
    Inscription : Octobre 2004
    Messages : 608
    Par défaut
    salut !
    pour assigner une valeur à a et b il suffit de voir eu tout début de code (a=0; b=0) et de remplacer les 0 par les valeurs souhaitées...
    mais tu n'en auras plus besoin maintenant, n'est-ce pas ?
    allez, courage et @+

  5. #5
    Membre averti
    Inscrit en
    Mai 2006
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 15
    Par défaut
    Merci beaucoup Shérif ! J'ai remplacé les 0 de a et b par différentes valeurs, sans résultat. La ligne de la date ne bouge pas.

    Quoi qu'il en soit, je te remercie pour ton aide et comme tu le dis, je n'ai plus besoin de ces précisions puisque tu as modifié mon compteur...

    Et à ce propos j'ai un dernier petit souci à l'ouverture de ma page... tu en sauras plus dans le post "compteur en boucle" que tu connais si bien

    Merci encore !

    Thomas

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

Discussions similaires

  1. Appel de plusieurs fonctions sur onload de body
    Par laurentSc dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 04/08/2009, 10h52
  2. appel fonction sur body onload='.'
    Par fbe66 dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 21/12/2007, 13h33
  3. appel fonction après <body =onload>
    Par taffMan dans le forum Général JavaScript
    Réponses: 12
    Dernier message: 27/11/2006, 21h23
  4. body onload " .focus"
    Par vincedjs dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 20/02/2006, 10h21

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