๐Ÿ‘๏ธ๋ˆˆ ์•„์ด์ฝ˜์œผ๋กœ ๋กœ๊ทธ์ธ ๋น„๋ฐ€๋ฒˆํ˜ธ ํ™•์ธํ•˜๋Š” ๋ฐฉ๋ฒ•

๋กœ๊ทธ์ธ ๋น„๋ฐ€๋ฒˆํ˜ธ ํ™•์ธํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด์„œ ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ๋กœ๊ทธ์ธ ๋˜๋Š” ์ž…๋ ฅ ํผ(input)์˜ ๋น„๋ฐ€๋ฒˆํ˜ธ(password)์˜ ๊ฒฝ์šฐ ๋ณ„ํ‘œ ์ฒ˜๋ฆฌ๊ฐ€ ๋˜์–ด์žˆ์–ด ์žˆ์Šต๋‹ˆ๋‹ค. toggle ๋ฒ„ํŠผ์œผ๋กœ ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ๋ฐ”๋กœ ํ™•์ธํ•˜๋ฉด์„œ ์ž…๋ ฅํ•˜๋Š” ๋ฐฉ๋ฒ•์˜ ์ฝ”๋“œ๋ฅผ ๋ณด๊ณ  ์„ค๋ช…ํ•ด ๋“œ๋ฆด๊ฒŒ์š”.

๋กœ๊ทธ์ธ ๋น„๋ฐ€๋ฒˆํ˜ธ ํ™•์ธ ์ฝ”๋“œ

CSS ์ฝ”๋“œ

.password-box {
	position: relative;
	width: 250px;
}

.password-box input[type="password"],
.password-box input[type="text"] {
	width: 100%;
	padding-right: 40px;
}

.toggle-password {
	position: absolute;
	top: 50%;
	right: 10px;
	transform: translateY(-50%);
	cursor: pointer;
	font-size: 18px;
	color: #888;
}
CSS

HTML ์ฝ”๋“œ

<div class="password-box">
	<input type="password" id="password" placeholder="๋น„๋ฐ€๋ฒˆํ˜ธ ์ž…๋ ฅ">
	<span class="toggle-password" onclick="togglePassword()">๐Ÿ‘๏ธ</span>
</div>
HTML

JavaScript ์ฝ”๋“œ

function togglePassword() {
	const pwInput = document.getElementById("password");
	const toggleIcon = document.querySelector(".toggle-password");

	if (pwInput.type === "password") {
		pwInput.type = "text";
		toggleIcon.textContent = "๐Ÿ™ˆ"; // ๋ˆˆ ๊ฐ€๋ฆฌ๋Š” ์ด๋ชจ์ง€
	} else {
		pwInput.type = "password";
		toggleIcon.textContent = "๐Ÿ‘๏ธ"; // ๋ˆˆ ์ด๋ชจ์ง€
	}
}
JavaScript

์˜ˆ์ œ ์ฝ”๋“œ ์‹คํ–‰ ๋ฐ ์„ค๋ช…

๐Ÿ‘๏ธ
  • ์œ„ ์‹คํ–‰ ์˜ˆ์ œ๋ฅผ ๋ณด๋ฉด ๊ธฐ๋ณธ์ ์œผ๋กœ ๋ณ„ํ‘œ๋กœ ํ‘œ๊ธฐ๊ฐ€ ๋˜์ง€๋งŒ, ๋ˆˆ ๋ชจ์–‘ ํด๋ฆญ ์‹œ ๋ณ„ํ‘œ๊ฐ€ ์ •์ƒ์ ์œผ๋กœ ํ‘œ๊ธฐ ๋ฉ๋‹ˆ๋‹ค.
  • ์ด ์˜ˆ์ œ์˜ ํ•ต์‹ฌ์€ ๋ˆˆ ๋ชจ์–‘์˜ UI์  ๋ฐฐ์น˜ ๋ถ€๋ถ„๊ณผ ๋ˆˆ ๋ชจ์–‘ ์•„์ด์ฝ˜ ํด๋ฆญ ์‹œ ํšจ๊ณผ๋ฅผ ์ฃผ๋Š” JavaScript ๋ถ€๋ถ„์ž…๋‹ˆ๋‹ค.
  • ๊ธฐ๋ณธ์ ์ธ ๊ธฐ๋Šฅ์˜ ์ดํ•ด๊ฐ€ ๋†’์•„์ง€๋ฉด, ํ•ด๋‹น ๊ธฐ๋Šฅ์„ ๋ณ€ํ˜•ํ•ด์„œ ๋‹ค๋ฅธ ๋ฐฉ๋ฒ•์œผ๋กœ ๋ณ€๊ฒฝ์ด ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.
  • JavaScript togglePassword() ํ•จ์ˆ˜ ๋ถ€๋ถ„์„ ์ž์„ธํžˆ ํ™•์ธํ•ด ๋ณด์‹œ๋ฉด ๋ฉ๋‹ˆ๋‹ค.

๊ด€๋ จ๋งํฌ

์œ„๋กœ ์Šคํฌ๋กค