Disparition temporaire
Fermé
chabinot
Messages postés
322
Date d'inscription
mardi 10 novembre 2015
Statut
Membre
Dernière intervention
27 août 2024
-
27 janv. 2023 à 19:02
chabinot Messages postés 322 Date d'inscription mardi 10 novembre 2015 Statut Membre Dernière intervention 27 août 2024 - 28 janv. 2023 à 17:01
chabinot Messages postés 322 Date d'inscription mardi 10 novembre 2015 Statut Membre Dernière intervention 27 août 2024 - 28 janv. 2023 à 17:01
A voir également:
- Disparition temporaire
- Fichier temporaire - Guide
- Supra footwear disparition ✓ - Forum Consommation & Internet
- Mail temporaire - Guide
- Erreur temporaire gmail ✓ - Forum Gmail
- Erreur temporaire de résolution de « fr.archive.ubuntu.com » ✓ - Forum Ubuntu
2 réponses
jordane45
Messages postés
38423
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
15 février 2025
4 734
27 janv. 2023 à 20:22
27 janv. 2023 à 20:22
Bonjour
Tout dépend le reste de ta page, mais pense bien que le javascript s'exécute après que la page a été chargée comme en plus tu utilises un timer forcément ça rajoute du temps
Pour peu que tu aies d'autres scripts qui se charge avant celui-là ça rajoute également du temps..
Je précise également que la librairie moment mais, il me semble, plus maintenu à cause de failles de sécurité qui ont été trouvées à l'intérieur...
Si c'est juste pour afficher l'heure, les fonctions natives de JavaScript suffisent largement.
chabinot
Messages postés
322
Date d'inscription
mardi 10 novembre 2015
Statut
Membre
Dernière intervention
27 août 2024
16
28 janv. 2023 à 17:01
28 janv. 2023 à 17:01
Bonjour,
Effectivement, je l'ai refait, le voici :
// Constantes const now = new Date(), dateElement = document.querySelector('.date'), dayElement = document.querySelector('.day'), weekElement = document.querySelector('.week'), resteElement = document.querySelector('.reste'), timeElement = document.querySelector('.time'), cpyElement = document.querySelector('.cpy'), options = { weekday: 'long', year: 'numeric', month: 'long', day: 'numeric' } // Date du jour dateElement.innerText = now.toLocaleDateString('fr-FR', options) // Jour dans l'année en cours const dayOfYear = date => Math.floor((now - new Date(now.getFullYear(), 0, 0)) / 1000 / 60 / 60 / 24) dayElement.textContent = dayOfYear(now).toString().padStart(2, '0') // Semaine dans l'année en cours const weekOfYear = date => { const startOfYear = new Date(now.getFullYear(), 0, 1); startOfYear.setDate(startOfYear.getDate() + (startOfYear.getDay() % 7)); return Math.round((now - startOfYear) / (7 * 24 * 3600 * 1000)); } weekElement.innerText = weekOfYear(now).toString().padStart(2, '0') // Année bisextile const isLeap = year => new Date(year, 1, 29).getDate() === 29 let nbJour = isLeap(now.getFullYear()) ? 366 : 365, restant = nbJour - dayOfYear(now) // Nombre de jours restant est supérieur à 1 ou égale à 0 resteElement.innerText = (restant === 0 ? '(Dernier jour de l\'année)' : (restant === 1) ? '(Reste: ' + restant + ' jour)' : '(Reste: ' + (nbJour - dayOfYear(now)).toString().padStart(1, '0') + ' jours)') // Copyright cpyElement.textContent = now.getFullYear() // Affichage de l'heure setInterval( () => { const hour = ((new Date().getHours() % 12) || 12).toString().padStart(2, '0'), minute = new Date().getMinutes().toString().padStart(2, '0'), second = new Date().getSeconds().toString().padStart(2, '0'), amOrPm = new Date().getHours() < 12 ? 'am' : 'pm' timeElement.innerText = `${hour}:${minute}:${second} ${amOrPm}` }, 1000)
et la page html
<!DOCTYPE html> <html lang="fr"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1"> <title>Document</title> <!-- Favicon --> <link rel="shortcut icon" href="favicon.ico" type="image/x-icon"> <!-- Styles CSS --> <link rel="stylesheet" href="css/styles.css"> <!-- Scripts --> <script src="js/date.time.js" defer></script> </head> <body> <header class="fixed-top"> <div class="datetime"> <span class="date"></span><br> <span>(Jour: </span><span class="day"></span><span>)</span> <span>(Semaine: </span><span class="week"></span><span>)</span><br> <span class="reste"></span><span></span> </div> <div class="titre"><h1><a href="/">Document</a></h1></div> <div class="time"> <span class="time"></span> </div> </header> <footer class="fixed-bottom"> <p>© Copyright Document (2022 - <span class="cpy"></span>). Tous droits réservés </p> </footer> </body> </html>
Comme tu vois, je n'ai qu'un seul script, ça continue au réaffichage, ce n'est pas grave.
Merci encore pour ton aide.