inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

인터랙티브 웹 개발 제대로 시작하기

이벤트 위임 보강 영상

일분이 잔상

445

김민경

작성한 질문수 1

0

안녕하세요 선생님!

선생님께서 주신 이벤트 위임 보강 영상 소스코드를 아래에서 다운받기도 했었고,

https://www.notion.so/4efb427f10a141088de833f6ec20ac1e

다른 질문글에서 답변주신대로 

<script src="IlbuniPointer.js"></script>

를 html 에 추가하고

IlbuniPointer.js 파일명으로 아래 내용을 추가했습니다.

background: url('./images/ilbuni2.png')

ㅠㅠ 요부분을 제 사진경로에 맞게 수정도 했습니다.

그런데 왜 아예 클릭해도 반응이 없는건지 잘모르겠어요..ㅠㅠ

콘솔창이나 element 창 둘다 변화가 없어서 뭐가 잘못된건지 모르겠습니다.

class IlbuniPointer {
	constructor() {
		let elem = document.createElement('div');
		let timerId;

		elem.style.cssText = `
			position: absolute;
			left: 0;
			top: 0;
			width: 60px;
			height: 60px;
			margin: -30px 0 0 -30px;
			border-radius: 50%;
			background: url('./images/ilbuni2.png') no-repeat 0 0 / cover;
			transform: scale(0);
		`;

		document.body.appendChild(elem);

		window.addEventListener('click', e => {
			elem.style.animation = 'pointer-ani 0.5s linear';
			elem.style.left = `${e.clientX}px`;
			elem.style.top = `${e.clientY}px`;
			timerId = setTimeout(() => {
				elem.style.animation = 'none';
				clearTimeout(timerId);
				timerId = null;
			}, 500);
		});
	}
}

아래는 js 파일만 실행이 되는지 테스트하기 위해 따로 만들었습니다.

<!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">
    <title>Document</title>
</head>
<body>
    <p>클릭테스트</p>
    <script src="./IlbuniPointer.js"></script>
</body>
</html>

파일명 : IlbuniPointer.js  (맨앞 대문자i 뒤는 l 이 맞습니다.)

무엇이 잘못되어 작동을 안하는것인지 감을 못잡겠어요..ㅠ 알려주세요 선생님...

class IlbuniPointer {
    constructor() {
        let elem = document.createElement('div');
        let timerId;

        elem.style.cssText = `
            position: absolute;
            left: 0;
            top: 0;
            width: 60px;
            height: 60px;
            margin: -30px 0 0 -30px;
            border-radius: 50%;
            background: url('./images/ilbuni_2.png') no-repeat 0 0 / cover;
            transform: scale(0);
        `;

        document.body.appendChild(elem);

        window.addEventListener('click', e => {
            elem.style.animation = 'pointer-ani 0.5s linear';
            elem.style.left = `${e.clientX}px`;
            elem.style.top = `${e.clientY}px`;
            timerId = setTimeout(() => {
                elem.style.animation = 'none';
                clearTimeout(timerId);
                timerId = null;
            }, 500);
        });
    }
}

일분이잔상 이벤트위임 HTML/CSS javascript 인터랙티브-웹

답변 1

1

1분코딩

CSS에 아래 코드를 추가해 보세요~
animation은 스크립트로 지정했는데, CSS는 선언이 안되어 있기때문에
scale이 0이 된 상태로 머물러 있어서, 크기가 0이라 눈에 안보이는 것 같아요.
잘 동작하면, opacity등도 자연스럽게 한번 조정해 보세요 :)

@keyframes pointer-ani {
0% { transform: scale(0); }
100% { transform: scale(1); }
}

0

김민경

앗 선생님 감사합니다 :) 처음에 잘몰랐을때라 헤매다가 안됬던거같아요! 말씀해주신대로 하니까 잘됩니다! 정말 감사드립니다!!

왼쪽/오른쪽 동작시 딜레이 문제

0

109

1

변수 범위 관련 질문

0

118

1

perspective 문의

0

113

1

생성자 함수를 클래스 함수로 변경 하고 this 오류 관련

0

164

1

스크롤이 중간 위치에 있을 때 창의 크기를 변환하면 생기는 문제

0

131

1

animation이벤트 질문이요!

0

79

1

resize handler에서 질문이 있습니다.

0

120

1

카드 뒤집힐 때 F가 보인 이유

0

158

1

3d 뒤집기 추가효과

0

225

1

전진! 3D 스크롤 21 강의 질문

1

176

1

eventlistener 질문

0

157

1

zMove 를 1000으로 설정하는 이유에 대하여.

0

178

1

[정보-23강] ES6 class 문법으로 공부하시는 분들!! 화살표 함수로도 시도해보셔요!

1

203

1

동적으로 html 생성 후 이벤트 위임 질문 있습니다.

0

278

1

rotateY()에서 deg에 따른 차이

0

205

1

코드 작성 순서

0

281

1

이미지가 없는데 첨부파일을 다운 받는 방법이 있나요??

1

400

1

'이벤트 위임 보강 영상'에 있는 예제 html이 안 보입니다

0

283

2

섹션5 자바스크립트 이벤트 다루기 질문

1

260

1

[#전진! 3D 스크롤 11] mousePos 공식 질문 있습니다!

0

430

2

css 는 직접 작성을 해야하는걸까용?

0

331

1

translateZ 에 px 이 아닌 vw 로 값을 주신 이유가 있을가요?

0

365

2

house 부분에도 width , height 부분을 꽉 차게 주신 부분이 제가 이해한게 맞는지 궁금합니다.

0

312

2

left:-400vw 가 아닌 translateZ(100vw); 을 입력하신 이유가 궁금합니다.

0

313

2