Maison interface Web js tutoriel Afficher l'exemple de code javascript de l'heure actuelle du client dans les compétences page_javascript

Afficher l'exemple de code javascript de l'heure actuelle du client dans les compétences page_javascript

May 16, 2016 pm 03:12 PM

L'objet time (Date()) est relativement simple. Cet article est destiné aux débutants pour que les experts puissent l'ignorer !

Cet article présente des exemples de connaissances de base et parle des exigences des exemples :

Affiche l'heure actuelle du client sur la page (au format 10:10:10 le lundi 1er janvier 2015). La page ne s'actualise pas toutes les secondes, mais l'heure est automatiquement mise à jour (en utilisant deux méthodes de minuterie). atteint), temps de clic de souris, si le mouvement d'origine est arrêté, s'il est arrêté, le mouvement continue
;

Les exigences peuvent essentiellement être divisées en 2 parties : l'une consiste à mettre à jour automatiquement l'heure sans actualiser, et l'autre consiste à cliquer sur l'heure pour arrêter ou mettre à jour l'heure

D'accord, suivons les anciennes règles, étape par étape. Puisqu'il est temps, nous utiliserons l'objet temporel new Date();

var nowDate = new Date();
var time = {
year : nowDate.getFullYear(),
month : nowDate.getMonth(),
day : nowDate.getDate(),
week : nowDate.getDay(),
hour : nowDate.getHours(),
minute : nowDate.getMinutes(),
second : nowDate.getSeconds()
}; 
Copier après la connexion

J'obtiens l'objet temporel sous la forme d'un objet, qui est pratique à appeler et qui a une structure claire. Il n'est pas nécessaire de le définir un par un. Cette méthode d'écriture est également très pratique. obtenez la valeur correspondante, par exemple obtenir l'année : heure année ;
.

Après avoir obtenu les données dont nous avons besoin, nous devons résoudre le problème du jour de la semaine, car la valeur du jour de la semaine obtenue maintenant est toujours 1,2,3,4,5,6,7 . Ici, nous devons le convertir et le changer en Pour les informations textuelles que nous pouvons voir, nous l'enveloppons ici avec une fonction :

function Week(num){
switch(num){
case 1 :
return '星期一';
break;
case 2 :
return '星期二';
break;
case 3 :
return '星期三';
break;
case 4 :
return '星期四';
break;
case 5 :
return '星期五';
break;
case 6 :
return '星期六';
break;
case 7 :
return '星期日';
break; 
};
}
Copier après la connexion

Ici, j'utilise la combinaison swicth case. Cette condition de jugement est particulièrement adaptée pour faire des jugements similaires au jour de la semaine. Je n'entrerai pas dans les détails ici, vous pouvez également utiliser la combinaison if else pour juger. , selon vos habitudes personnelles. Un problème à résoudre est que lorsque les minutes et secondes obtenues sont comprises entre 0 et 9, les chiffres de 0 à 9 s'affichent,

n'est pas notre affichage commun de 00-09. Afin de changer cette heure en quelque chose qui nous est familier, nous pouvons également écrire une fonction pour la convertir :
.

function twoNum(num){
return num = num<10 &#63; '0'+num : num; 
} 
Copier après la connexion

J'utilise ici l'arithmétique ternaire. Si vous ne connaissez pas grand-chose à l'arithmétique ternaire, regardez le code ci-dessous, cela signifie la même chose :

function twoNum(num){
if(num<10){
num = '0'+num; 
}
return num; 
}
Copier après la connexion

Tout est prêt, il ne nous manque plus que le vent d’est. Intégrons d’abord ces codes pour les rendre plus pratiques à utiliser :

function Timer(obj){
var nowDate = new Date();
var time = {
year : nowDate.getFullYear(),
month : nowDate.getMonth(),
day : nowDate.getDate(),
week : nowDate.getDay(),
hour : nowDate.getHours(),
minute : nowDate.getMinutes(),
second : nowDate.getSeconds()
};
function Week(num){
switch(num){
case 1 :
return '星期一';
break;
case 2 :
return '星期二';
break;
case 3 :
return '星期三';
break;
case 4 :
return '星期四';
break;
case 5 :
return '星期五';
break;
case 6 :
return '星期六';
break;
case 7 :
return '星期日';
break; 
};
}
function twoNum(num){
return num = num<10 &#63; '0'+num : num; 
}
obj.innerHTML = time.year+'年'+time.month+'月'+time.day+'日 '+Week(time.week)+' '+time.hour+':'+twoNum(time.minute)+':'+twoNum(time.second);
}
Copier après la connexion

Vous devez comprendre cette fonction. Le but du passage d'un objet obj est d'afficher l'heure dans cet objet. Cependant, l'heure affichée à ce moment n'est qu'une heure statique. La page ne bougera pas du tout si elle ne l'est pas. rafraîchi. Par conséquent, nous continuons. Ensuite, implémentons la fonction de mise à jour automatique de l'heure. Tout d'abord, nous donnons un conteneur :
.

<div id="box"></div> 
Copier après la connexion

Pour obtenir une mise à jour automatique de l'heure, vous devez utiliser une minuterie (setInterval() ou setTimeout()). La première est toujours exécutée à moins que la minuterie ne soit effacée et la seconde l'est. exécuté uniquement Elle ne sera pas exécutée une seule fois. Si vous souhaitez qu'elle soit exécutée tout le temps, vous pouvez envisager d'utiliser la méthode d'appel récursive. Cette méthode ne sera pas écrite ici
.

Nous choisissons d'utiliser le premier :

var oBox = document.getElementById("box"); //获取元素
Timer(oBox); //这里需要先执行一下,因为如果不先执行,定时器会有一个延迟1秒执行,看上去就感觉慢了一秒出来一样
oBox.timer = setInterval(function(){ //oBox.timer这种写法是为了减少外面全局变量对定时器的影响,用元素的自定义属性还可以避免命名冲突
Timer(oBox);
},1000); 
Copier après la connexion

À ce stade, l'heure affichée sur la page peut être automatiquement mise à jour et affichée. Cependant, nous avons encore une autre exigence, qui est de cliquer sur l'heure et l'heure s'arrêtera à nouveau et l'heure reprendra la mise à jour. Alors comment faire ça ? Afin de faciliter la compréhension, je vais vous donner un exemple, et vous devriez pouvoir le comprendre. Par exemple, une lumière lorsque j'appuie sur l'interrupteur, la lumière s'allume. la lumière s'éteint. Est-ce très similaire à nos exigences, afin que nous puissions obtenir l'effet souhaité en réglant un interrupteur :

var offOn = true;
oBox.onclick = function(){
if(offOn){
clearInterval(oBox.timer);
offOn=false;
}else{
oBox.timer = setInterval(function(){
Timer(oBox);
},1000);
offOn = true;
}
} 
Copier après la connexion

À ce stade, toutes les fonctions ont été implémentées. Pensez-vous que c'est la fin ? certainement. . . Non, en raison de l'attitude rigoureuse de nos programmeurs envers le code, de nombreux endroits peuvent être optimisés. Tous les codes sont organisés et optimisés comme suit :
.

var oBox = document.getElementById("box");
var offOn = true;
Timer(oBox);
function showTime(){
oBox.timer = setInterval(function(){
Timer(oBox);
},1000);
}
showTime();
oBox.onclick = function(){
offOn ? clearInterval(oBox.timer) : showTime();
offOn=!offOn;
}
function Timer(obj){
var nowDate = new Date();
var time = {
year : nowDate.getFullYear(),
month : nowDate.getMonth(),
day : nowDate.getDate(),
week : nowDate.getDay(),
hour : nowDate.getHours(),
minute : nowDate.getMinutes(),
second : nowDate.getSeconds()
};
function Week(num){
switch(num){
case 1 :
return '星期一';
break;
case 2 :
return '星期二';
break;
case 3 :
return '星期三';
break;
case 4 :
return '星期四';
break;
case 5 :
return '星期五';
break;
case 6 :
return '星期六';
break;
case 7 :
return '星期日';
break; 
};
}
function twoNum(num){
return num = num<10 &#63; '0'+num : num; 
}
obj.innerHTML = time.year+'年'+time.month+'月'+time.day+'日 '+Week(time.week)+' '+time.hour+':'+twoNum(time.minute)+':'+twoNum(time.second);
}
Copier après la connexion

Veuillez essayer de comprendre les différentes opérations ternaires et opérations de négation qui y sont utilisées !

À ce stade, pensez-vous que c’est fini ? certainement. . . Non, lorsqu'il s'agit d'afficher l'heure, ce n'est qu'une goutte d'eau dans l'ensemble des applications d'objets temporels. Davantage d'applications devraient être des applications de compte à rebours, telles que les sites Web d'achat groupé, tels que les comptes à rebours de codes de vérification, etc. je n'entrerai donc pas dans les détails ici cette fois. Parlons de la fonction de compte à rebours. J'ouvrirai un blog séparé pour expliquer certaines méthodes d'application du compte à rebours pour votre référence et votre étude. , c'est tout pour aujourd'hui !

Je vais vous présenter les connaissances pertinentes sur la sortie de l'exemple de code javascript actuel du client sur la page. J'espère que cela sera utile à tout le monde !

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

Video Face Swap

Video Face Swap

Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Que dois-je faire si je rencontre l'impression de code brouillé pour les reçus en papier thermique frontal? Que dois-je faire si je rencontre l'impression de code brouillé pour les reçus en papier thermique frontal? Apr 04, 2025 pm 02:42 PM

Des questions et des solutions fréquemment posées pour l'impression de billets thermiques frontaux pour le développement frontal, l'impression de billets est une exigence commune. Cependant, de nombreux développeurs mettent en œuvre ...

Qui est payé plus de python ou de javascript? Qui est payé plus de python ou de javascript? Apr 04, 2025 am 12:09 AM

Il n'y a pas de salaire absolu pour les développeurs Python et JavaScript, selon les compétences et les besoins de l'industrie. 1. Python peut être davantage payé en science des données et en apprentissage automatique. 2. JavaScript a une grande demande dans le développement frontal et complet, et son salaire est également considérable. 3. Les facteurs d'influence comprennent l'expérience, la localisation géographique, la taille de l'entreprise et les compétences spécifiques.

Démystifier javascript: ce qu'il fait et pourquoi c'est important Démystifier javascript: ce qu'il fait et pourquoi c'est important Apr 09, 2025 am 12:07 AM

JavaScript est la pierre angulaire du développement Web moderne, et ses principales fonctions incluent la programmation axée sur les événements, la génération de contenu dynamique et la programmation asynchrone. 1) La programmation axée sur les événements permet aux pages Web de changer dynamiquement en fonction des opérations utilisateur. 2) La génération de contenu dynamique permet d'ajuster le contenu de la page en fonction des conditions. 3) La programmation asynchrone garantit que l'interface utilisateur n'est pas bloquée. JavaScript est largement utilisé dans l'interaction Web, les applications à une page et le développement côté serveur, améliorant considérablement la flexibilité de l'expérience utilisateur et du développement multiplateforme.

Comment fusionner les éléments du tableau avec le même ID dans un seul objet en utilisant JavaScript? Comment fusionner les éléments du tableau avec le même ID dans un seul objet en utilisant JavaScript? Apr 04, 2025 pm 05:09 PM

Comment fusionner les éléments du tableau avec le même ID dans un seul objet en JavaScript? Lors du traitement des données, nous rencontrons souvent la nécessité d'avoir le même ID ...

Comment réaliser des effets de défilement de parallaxe et d'animation des éléments, comme le site officiel de Shiseido?
ou:
Comment pouvons-nous réaliser l'effet d'animation accompagné d'un défilement de page comme le site officiel de Shiseido? Comment réaliser des effets de défilement de parallaxe et d'animation des éléments, comme le site officiel de Shiseido? ou: Comment pouvons-nous réaliser l'effet d'animation accompagné d'un défilement de page comme le site officiel de Shiseido? Apr 04, 2025 pm 05:36 PM

La discussion sur la réalisation des effets de défilement de parallaxe et d'animation des éléments dans cet article explorera comment réaliser le site officiel de Shiseido (https://www.shiseido.co.jp/sb/wonderland/) ...

La différence dans Console.Log de sortie Résultat: Pourquoi les deux appels sont-ils différents? La différence dans Console.Log de sortie Résultat: Pourquoi les deux appels sont-ils différents? Apr 04, 2025 pm 05:12 PM

Discussion approfondie des causes profondes de la différence de sortie Console.log. Cet article analysera les différences dans les résultats de sortie de la fonction Console.log dans un morceau de code et expliquera les raisons derrière. � ...

JavaScript est-il difficile à apprendre? JavaScript est-il difficile à apprendre? Apr 03, 2025 am 12:20 AM

Apprendre JavaScript n'est pas difficile, mais c'est difficile. 1) Comprendre les concepts de base tels que les variables, les types de données, les fonctions, etc. 2) Master la programmation asynchrone et les implémenter via des boucles d'événements. 3) Utilisez les opérations DOM et promettez de gérer les demandes asynchrones. 4) Évitez les erreurs courantes et utilisez des techniques de débogage. 5) Optimiser les performances et suivre les meilleures pratiques.

Comment implémenter la fonction de glisser-déposer et de régler la fonction de réglage similaire à VScode dans le développement frontal? Comment implémenter la fonction de glisser-déposer et de régler la fonction de réglage similaire à VScode dans le développement frontal? Apr 04, 2025 pm 02:06 PM

Explorez la mise en œuvre de la fonction de glisser et de réglage du panneau de type VScode dans le frontal. Dans le développement frontal, comment implémenter un VScode comme ...

See all articles