- · Niveau : DÉBUTANT
- · Compatibilité : Tous les navigateurs
Ce petit prototype affiche l’heure selon le "content-language" passé, en français "fr", espagnole "es" ou englais "en". L’ajout du zéro est effectué grace à la fonction "twZero".
Un prototype permet d’ajouter une méthode à un objet. Ce prototype de l’objet DATE est limité aux objets Date. Il faut donc créer votre date avant d’utiliser le prototype.
<script type="text/javascript">
function twZero(_nbr) { return (_nbr < 10) ? ’0’ + _nbr : _nbr; }
Date.prototype.twHeure=function (_langage){
// Script gratuit des Trucsweb
// Sous licence Apache
// Laisser cette remarque s.v.p.
var sHeures = twZero(this.getHours());
var sMinutes = twZero(this.getMinutes());
var sTemp = "";
switch (_langage.toLowerCase()) {
case "fr" : sTemp = sHeures + ’ h ’ + sMinutes; break;
case "es" : sTemp = sHeures + ’.’ + sMinutes; break;
default : sTemp = sHeures + ’:’ + sMinutes;
}
return sTemp;
}
// Exemple
var dDate = new Date();
alert(dDate.twHeure(’fr’));
</script>
Afficher l’heure en continu sur votre site (compatible IE 5+ / Netscape 6+)
L’idée est d’utiliser la méthode "setTimeout" pour réactualiser notre date qu’il suffit d’assigner à un élément du document. Dans l’exemple suivant l’élément est un simple calque DIV auquel j’ai appliqué un style agréable basé sur son ID (#heure). Même chose pour assigner la nouvelle valeur, on utilise le ID (getElementById("heure")).
Or donc, c’est la fonction twAffHeure() qui fait tout le travail, construit l’heure, l’affiche et se répète selon un délais, ici une seconde (ou 1000 milisecondes). Enfin, pour que bien sûr notre fonction "twAffHeure()" soit activée la première fois, ajouter dans la balise
le comportement onload="twAffHeure();"Noter que la fonction twHeure2() retourne dans ce cas les secondes, c’est pour ça le 2... Si vous ne voulez pas afficher les secondes, utiliser la fonction twHeure() de base.
<html>
<head>
<title>Trucsweb : Heure dynamique</title>
<style>
#heure {
color: #000;
background : #eee;
font: 7pt/7pt Verdana, Tahoma, Arial, Helvetica, sans-serif;
text-align: center;
width: 75px;
border : 1px solid #ccc;
FILTER: progid:DXImageTransform.Microsoft.Shadow(direction=120,color=gray,strength=2);
}
</style>
<script type="text/javascript">
function twZero(_nbr) { return (_nbr < 10) ? ’0’ + _nbr : _nbr; }
Date.prototype.twHeure=function (_langage){
// Script gratuit des Trucsweb
// Sous licence Apache
// Laisser cette remarque s.v.p.
var sHeures = twZero(this.getHours());
var sMinutes = twZero(this.getMinutes());
var sSecondes = twZero(this.getSeconds());
var sTemp = "";
switch (_langage.toLowerCase()) {
case "fr" : sTemp = sHeures + ’ h ’ + sMinutes + ’:’ + sSecondes; break;
case "es" : sTemp = sHeures + ’.’ + sMinutes + ’:’ + sSecondes; break;
default : sTemp = sHeures + ’:’ + sMinutes + ’:’ + sSecondes;
}
return sTemp;
}
function twAffHeure() {
var dDate = new Date();
document.getElementById("heure").innerHTML = ’twHeure<br />’ + dDate.twHeure(’fr’);
oDelais = setTimeout("twAffHeure()",1000);
}
</script>
</head>
<body onload="twAffHeure();">
<div id="heure"></div>
</body>
</html>