호버보드
3768 단어 javascriptwebdev
이것은 튜토리얼로 만든 사이드 프로젝트에 대한 기사일 뿐입니다. 그 사람은 멋진 프로젝트를 만드는 데 정말 대단합니다.
구축을 시작합시다!
Hoverboard(원하는 모든 것)라는 새 폴더로 시작하여 index.html, style.css 및 script.js를 추가합니다.
HTML :
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" href="style.css">
<link rel="icon" href="https://designshack.net/wp-content/uploads/hover-effects.png">
<title>Hoverboard</title>
</head>
<body>
<div class="container" id = "container">
<!-- Squares are inserted by JS -->
</div>
<script src="script.js"></script>
</body>
</html>
나는 그것을 요구하지 않기 때문에 짧고 간략하게 유지하려고 노력할 것입니다. 우리는 컨테이너를 생성하고 div에 동일한 클래스 이름을 가진 ID를 부여했습니다.
컨테이너 내부에 script.js를 사용하여 멋진 사각형 상자를 생성합니다.
JS :
const container = document.getElementById('container');
const colors = ['#e74c3c', '#8e44ad', '#3498db', '#e67e22', '#2ecc71'];
const SQUARES = 500;
for(let i = 0; i < SQUARES; i++) {
const square = document.createElement('div');
square.classList.add('square');
square.addEventListener('mouseover', () => setColor(square));
square.addEventListener('mouseout', () => removeColor(square));
container.appendChild(square);
}
function setColor(element) {
const color = getRandomColor()
element.style.background = color
element.style.boxShadow = `0 0 2px ${color}, 0 0 10px ${color}`
}
function removeColor(element) {
element.style.background = '#1d1d1d';
element.style.boxShadow = '0 0 2px #000';
}
function getRandomColor() {
return colors[Math.floor(Math.random() * colors.length)]
}
그것은 그것에 달려 있습니다. 이 코드가 하는 일은 반복 루프를 사용하여 SQUARES를 생성한다는 것입니다(현재 최대 500개).
사각형 상자 위로 마우스를 가져가면 색상 효과에 대한 다양한 색상의 배열을 얻을 수 있어 멋지게 보입니다.
이벤트 리스너를 사용하여 이를 가능하게 하고 마우스 오버 및 아웃 동작을 기반으로 스타일을 변경했습니다.
스타일:
*{
box-sizing: border-box;
}
body{
background-color: #111;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
height: 100vh;
overflow: hidden;
margin: 0;
}
.container{
display: flex;
align-items: center;
justify-content: center;
flex-wrap: wrap;
max-width: 400px;
}
.square{
background-color: #1d1d1d;
box-shadow: 0 0 2px #000;
height: 16px;
width: 16px;
margin: 2px;
transition: 2s ease;
}
.square:hover{
transition-duration: 0s;
}
전환의 아름다움이 여기에 표시됩니다. 우리에게 필요한 것은 flexbox의 힘뿐입니다. Box-shadow는 갈 길입니다.
Repo ⚡
Live ⚡
내 동료 개발자라고 생각합니다. 시간 내 주셔서 감사합니다!
Reference
이 문제에 관하여(호버보드), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/jagadeeshkj/hoverboard-1j08텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)