L'horloge fonctionne un peu. Mais au lieu de remplacer l'heure actuelle, il imprime une nouvelle heure chaque seconde. Je comprends pourquoi il le fait mais je ne sais pas comment le réparer. Je vous serais reconnaissant de bien vouloir me donner quelques conseils sans dire la réponse tout de suite. Je vous remercie. Voici mon code:
function time(){
var d = new Date();
var s = d.getSeconds();
var m = d.getMinutes();
var h = d.getHours();
document.write(h + ":" + m + ":" + s);
}
setInterval(time,1000);
Ajoutez un élément span et mettez à jour son contenu textuel.
var span = document.getElementById('span');
function time() {
var d = new Date();
var s = d.getSeconds();
var m = d.getMinutes();
var h = d.getHours();
span.textContent = h + ":" + m + ":" + s;
}
setInterval(time, 1000);
<span id="span"></span>
Une démo fonctionnelle, suivez le lien
http://www.w3schools.com/js/tryit.asp?filename=tryjs_timing_clock
Mise à jour vous utilisez document.write qui ajoute l'heure actuelle à chaque fois (et c'est ce que votre problème était si je ne me trompe pas). Donc, pour remplacer l'heure précédente par une nouvelle heure - 1. vous devez ouvrir le document avec le mode de remplacement (comme indiqué dans le code ci-dessous) 2. vous écrivez l'heure actuelle 3. puis vous fermez le document.
function time(){
var d = new Date();
var s = d.getSeconds();
var m = d.getMinutes();
var h = d.getHours();
document.open("text/html", "replace");
document.write(h + ":" + m + ":" + s);
document.close();
}
setInterval(time,1000);
Qu'entendez-vous par "nouvelle heure"? Mais pour remplacer la nouvelle heure, vous pouvez créer un div contenant l'heure, et chaque fois que vous appelez time (), définissez ce div.innerHTML = "", comme ci-dessous
HTML:
<div id="curr_time"></div>
JS:
var div = document.getElementById('curr_time');
function time() {
div.innerHTML = "";
var d = new Date();
var s = d.getSeconds();
var m = d.getMinutes();
var h = d.getHours();
div.innerHTML = h + ":" + m + ":" + s;
}
setInterval(time, 1000);
Veuillez suivre ce lien https://codepen.io/uniqname/pen/eIApt vous obtiendrez votre horloge de désir ou essayez ce code
<!DOCTYPE html>
<html>
<head>
<script>
function startTime() {
var today = new Date();
var h = today.getHours();
var m = today.getMinutes();
var s = today.getSeconds();
m = checkTime(m);
s = checkTime(s);
document.getElementById('txt').innerHTML =
h + ":" + m + ":" + s;
var t = setTimeout(startTime, 500);
}
function checkTime(i) {
if (i < 10) {i = "0" + i}; // add zero in front of numbers < 10
return i;
}
</script>
</head>
<body onload="startTime()">
<div id="txt"></div>
</body>
</html>
quelqu'un qui veut savoir comment coder une horloge numérique avec alarme? Voici mon codepen http://codepen.io/abhilashn/pen/ZLgXbW
function AmazeTime(almbtnobj) {
this.date,this.day,this.dt,this.month, this.year,this.hour,this.minute,this.second = null;
this.almHour, this.almMinute, almMeridiem = null;
this.meridiem = "AM";
this.almBtn = almbtnobj;
this.almBtn = this.setAlarm;
}
AmazeTime.prototype.initializeTime = function() {
this.dt = new Date();
this.day = this.getDayInWords(this.dt.getDay());
this.date = this.dt.getDate();
this.month = this.getMonthInShort(this.dt.getMonth());
this.year = this.dt.getFullYear();
this.hour = this.setHour(this.dt.getHours());
this.minute = this.doubleDigit(this.dt.getMinutes());
this.second = this.doubleDigit(this.dt.getSeconds());
this.meridiem = this.setMeridiem(this.dt.getHours());
}
AmazeTime.prototype.setHour = function(hr) {
if(hr > 12) {
hr = hr - 12;
}
if(hr === 0) {
hr = 12;
}
return this.doubleDigit(hr);
}
AmazeTime.prototype.doubleDigit = function(val) {
if(val < 10) {
val = "0" + val;
}
return val;
}
AmazeTime.prototype.setMeridiem = function(hr) {
if(hr > 12) {
hr = hr - 12;
return "PM";
} else {
return "AM";
}
}
AmazeTime.prototype.getMonthInShort = function(value) {
switch(value) {
case 0:
return "Jan";
break;
case 1:
return "Feb";
break;
case 2:
return "Mar";
break;
case 3:
return "Apr";
break;
case 4:
return "May";
break;
case 5:
return "Jun";
break;
case 6:
return "Jul";
break;
case 7:
return "Aug";
break;
case 8:
return "Sep";
break;
case 9:
return "Oct";
break;
case 10:
return "Nov";
break;
case 11:
return "Dec";
break; }
}
AmazeTime.prototype.getDayInWords = function(value) {
switch(value) {
case 0:
return "Sunday";
break;
case 1:
return "Monday";
break;
case 2:
return "Tuesday";
break;
case 3:
return "Wednesday";
break;
case 4:
return "Thursday";
break;
case 5:
return "Friday";
break;
case 6:
return "Saturday";
break;
}
}
AmazeTime.prototype.setClock = function() {
var clockDiv = document.getElementById("clock");
var dayDiv = document.getElementById("day");
var dateDiv = document.getElementById("date");
var self = this;
dayDiv.innerText = this.day;
dateDiv.innerText = this.date + " " + this.month + " " + this.year;
clockDiv.innerHTML = "<span id='currentHr'>" + this.hour + "</span>:<span id='currentMin'>" + this.minute + "</span>:" + this.second + " <span id='meridiem'>" + this.meridiem + "</span>";
}
AmazeTime.prototype.setAlarm = function() {
this.almHour = this.doubleDigit(document.getElementById('almHour').value);
this.almMinute = this.doubleDigit(document.getElementById('almMin').value);
if(document.getElementById("am").checked == true) {
this.almMeridiem = "AM";
} else {
this.almMeridiem = "PM";
}
}
AmazeTime.prototype.checkAlarm = function() {
var audio = new Audio('http://abhilash.site44.com/images/codepen/audio/audio.mp3');
if(this.hour == this.almHour && this.minute == this.almMinute && this.almMeridiem == this.meridiem) {
audio.play();
if(this.minute > this.almMinute) {
audio.pause();
}
}
}
var mytime = null;
mytime = new AmazeTime(document.getElementById("savebtn"));
window.addEventListener('load', function() {
function runTime() {
mytime.initializeTime();
mytime.setClock();
mytime.checkAlarm();
}
setInterval(runTime, 1000);
} , false);
function saveAlarm() {
mytime.setAlarm();
$('#myModal').modal('hide');
}
document.getElementById("savebtn").addEventListener("click", saveAlarm , false);
body { background:#A3ABF2; font-family:Arial; text-align:center; }
.day { font-size:64px; }
.date { font-size:33px; }
.clock { font-size:44px; }
.clock-content { margin-top:35vh; color:#FFF; }
.alarm-icon { font-size:34px; cursor:pointer; position:absolute; top:15px; right:15px; color:#FFF; }
.setalmlbl { padding-right:20px; }
.setalmtxtbox { margin-right:10px; width:60px; }
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<i id="alarmbtn" data-toggle="modal" data-target="#myModal" class="fa fa-bell alarm-icon"></i>
<div class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel" aria-hidden="true">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title" id="exampleModalLabel"> Set Alarm</h5>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">×</span>
</button>
</div>
<form>
<div class="modal-body">
<div class="form-inline">
<label for="hours" class="setalmlbl" >Hours </label>
<select class="form-control setalmtxtbox" name="almHour" id="almHour">
<script>
for(var h = 1; h <= 12; h ++) {
document.write("<option value="+ h +">" + h + "</option>");
}
</script>
</select>
<label for="minutes" class="setalmlbl"> Minutes </label>
<select class="form-control setalmtxtbox" name="almMin" id="almMin">
<script>
for(var m = 1; m <= 60; m++) {
document.write("<option value="+ m +">" + m + "</option>");
}
</script>
</select>
<div class="form-check">
<label class="form-check-label">
<input class="form-check-input" type="radio" name="meridiem" id="am" value="am" checked>
A.M.
</label>
</div>
<div class="form-check">
<label class="form-check-label">
<input class="form-check-input" type="radio" name="meridiem" id="pm" value="pm">
P.M.
</label>
</div>
</form>
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>
<button type="submit" id="savebtn" class="btn btn-primary">Save</button>
</div>
</div>
</div>
</div>
<div class="container-fluid">
<div class="clock-content">
<div class="day" id="day"></div>
<div class="date" id="date"></div>
<div class="clock" id="clock"></div>
</div>
</div>
vous pouvez regarder cette horloge javascript simple ici dans app.js pour une horloge en direct dans le navigateur https://github.com/danielrussellLA/simpleClock
var clock = document.getElementById('clock');
setInterval(function(){
clock.innerHTML = getCurrentTime();
}, 1);
function getCurrentTime() {
var currentDate = new Date();
var hours = currentDate.getHours() > 12 ? currentDate.getHours() - 12 : currentDate.getHours();
hours === 0 ? hours = 12 : hours = hours;
var minutes = currentDate.getMinutes();
var seconds = currentDate.getSeconds() < 10 ? '0' + currentDate.getSeconds() : currentDate.getSeconds();
var currentTime = hours + ':' + minutes + ':' + seconds;
return currentTime;
}