JavaScript 3.0~3.3
50877 ワード
3.0
htmlとjavascriptにクラス名を書き込む方法
cssとjavascriptで同じ名前を使用する場合は、
「css-clock」「js-clock」これでいい!
現在の時間を空にする
html
現在の時刻が表示されますが、問題は更新を続行する必要があることです(時間が更新されていません)
私たちが望んでいるのはそうではありません.
=>次のレッスンではsetlntervalが表示されます
3.1
setlnterval()は、2つのパラメータ値(パラメータ)を受け入れ、最初のパラメータは関数です.
2番目のパラメータの実行間隔
よく動いている様子.
しかし問題は.
画像を挿入
ろうそくはこのように現れたのではなく1.2のように現れたのですみっともない
点,分,秒はいずれも01,02のように適用される.
画像を挿入
localstorage:ユーザーのパソコンに小さな情報を保存する方法
html
3.3
その状態で、値を入力した後、enterを押して最初の画面に戻るのを止めたいです.
Enterキーを押していますが、価格が見えます.
問題はリフレッシュすると私のことを覚えていないことです.(hello入力内容)が消えます.保存されていないからです.
名前をロードするためにプログラミングされており、コードを編集して保存したことはありません.
最終JavaScript
htmlとjavascriptにクラス名を書き込む方法
cssとjavascriptで同じ名前を使用する場合は、
「css-clock」「js-clock」これでいい!
現在の時間を空にする
html
<!DOCTYPE html>
<html>
<head>
<title>Something</title>
<link rel="stylesheet" href="style.css" />
<meta charset="UTF-8" />
</head>
<body>
<div class="js-clock">
<h1>00:00</h1>
</div>
<script src="clock.js"></script>
</body>
</html>
javascriptconst clockContainer = document.querySelector(".js-clock"),
clockTitle = clockContainer.querySelector("h1");
function getTime() {
const date = new Date();
const minutes = date.getMinutes();
const hours = date.getHours();
const seconds = date.getSeconds();
clockTitle.innerText = `${hours}:${minutes}:${seconds}`;
}
function init() {
getTime();
}
init();
結果現在の時刻が表示されますが、問題は更新を続行する必要があることです(時間が更新されていません)
私たちが望んでいるのはそうではありません.
=>次のレッスンではsetlntervalが表示されます
3.1
setlnterval()は、2つのパラメータ値(パラメータ)を受け入れ、最初のパラメータは関数です.
2番目のパラメータの実行間隔
const clockContainer = document.querySelector(".js-clock"),
clockTitle = clockContainer.querySelector("h1");
function getTime() {
const date = new Date();
const minutes = date.getMinutes();
const hours = date.getHours();
const seconds = date.getSeconds();
clockTitle.innerText = `${hours}:${minutes}:${seconds}`;
}
function init() {
getTime();
setInterval(getTime, 1000);
}
init();
結果よく動いている様子.
しかし問題は.
画像を挿入
ろうそくはこのように現れたのではなく1.2のように現れたのですみっともない
//10초 이하일때 앞 조건에맞으면(?) 0을 포함해서 초를 세고, 아니면(:) 그냥 초를 세라.
clockTitle.innerText = `${hours}:${minutes}:${
seconds < 10 ? `0${seconds}` : seconds
}`;
条件文真実の時の結果:虚偽の時の結果点,分,秒はいずれも01,02のように適用される.
clockTitle.innerText = `${hours < 10 ? `0${hours}` : hours}:${minutes < 10 ? `0${minutes}` : minutes}:${
seconds < 10 ? `0${seconds}` : seconds
}`;
結果画像を挿入
localstorage:ユーザーのパソコンに小さな情報を保存する方法
html
<!DOCTYPE html>
<html>
<head>
<title>Something</title>
<link rel="stylesheet" href="style.css" />
<meta charset="UTF-8" />
</head>
<body>
<div class="js-clock">
<h1>00:00</h1>
</div>
<form class="js-form form">
<input type="text" placeholder="what is your name?" />
</form>
<h4 class="js-greetings gretting"></h4>
<script src="clock.js"></script>
<script src="gretting.js"></script>
</body>
</html>
cssbody {
font-family: sans-serif;
}
.form,
.grettings {
display: none;
}
.showing {
display: block;
}
javascriptconst form = document.querySelector(".js-form"),
input = form.querySelector("input"),
greeting = document.querySelector(".js-greetings");
const USER_LS = "currentUser",
SHOWING_CN = "showing";
function paintGreeting(text) {
form.classList.remove(SHOWING_CN);
greeting.classList.add();
greeting.innerText = `Hello ${text}`;
}
function loadName(){
const currentUser = localStorage.getItem(USER_LS);
if(currentUser === null){
//유저가 없는 경우
} else {
//유저가 있는 경우
paintGreeting(currentUser);
}
}
function init(){
loadName();
}
init();
結果3.3
<!DOCTYPE html>
<html>
<head>
<title>Something</title>
<link rel="stylesheet" href="style.css" />
<meta charset="UTF-8" />
</head>
<body>
<div class="js-clock">
<h1>00:00</h1>
</div>
<form class="js-form form">
<input type="text" placeholder="what is your name?" />
</form>
<h4 class="js-greetings gretting"></h4>
<script src="clock.js"></script>
<script src="gretting.js"></script>
</body>
</html>
その状態で、値を入力した後、enterを押して最初の画面に戻るのを止めたいです.
const form = document.querySelector(".js-form"),
input = form.querySelector("input"),
greeting = document.querySelector(".js-greetings");
const USER_LS = "currentUser",
SHOWING_CN = "showing";
//입력하고 엔터누르면 새로고침(입력값 저장x)되는거 막아주기
function handleSubmit(event){
event.preventDefault();
}
function askForName(){
form.classList.add(SHOWING_CN);
form.addEventListener("submit",handleSubmit);
}
function paintGreeting(text) {
form.classList.remove(SHOWING_CN);
greeting.classList.add();
greeting.innerText = `Hello ${text}`;
}
function loadName(){
const currentUser = localStorage.getItem(USER_LS);
if(currentUser === null){
//유저가 없는 경우
askForName();
} else {
//유저가 있는 경우
paintGreeting(currentUser);
}
}
function init(){
loadName();
}
init();
結果Enterキーを押していますが、価格が見えます.
function handleSubmit(event){
event.preventDefault();
const currentValue = input.value;
paintGreeting(currentValue);
}
問題はリフレッシュすると私のことを覚えていないことです.(hello入力内容)が消えます.保存されていないからです.
名前をロードするためにプログラミングされており、コードを編集して保存したことはありません.
function saveName(text){
localStorage.setItem(USER_LS, text);
}
//입력하고 엔터누르면 새로고침(입력값 저장x)되는거 막아주기
function handleSubmit(event){
event.preventDefault();
const currentValue = input.value;
paintGreeting(currentValue);
saveName(currentValue);
}
結果最終JavaScript
const form = document.querySelector(".js-form"),
input = form.querySelector("input"),
greeting = document.querySelector(".js-greetings");
const USER_LS = "currentUser",
SHOWING_CN = "showing";
function saveName(text){
localStorage.setItem(USER_LS, text);
}
//입력하고 엔터누르면 새로고침(입력값 저장x)되는거 막아주기
function handleSubmit(event){
event.preventDefault();
const currentValue = input.value;
paintGreeting(currentValue);
saveName(currentValue);
}
function askForName(){
form.classList.add(SHOWING_CN);
form.addEventListener("submit",handleSubmit);
}
function paintGreeting(text) {
form.classList.remove(SHOWING_CN);
greeting.classList.add();
greeting.innerText = `Hello ${text}`;
}
function loadName(){
const currentUser = localStorage.getItem(USER_LS);
if(currentUser === null){
//유저가 없는 경우
askForName();
} else {
//유저가 있는 경우
paintGreeting(currentUser);
}
}
function init(){
loadName();
}
init();
Reference
この問題について(JavaScript 3.0~3.3), 我々は、より多くの情報をここで見つけました https://velog.io/@123cjstj/자바스크립트-3.03.2テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol