흠..
274
작성한 질문수 40
2:34초 쯤에
ballElem.style.transform = 'translate( )';
이전에 style 객체는 css를 관장하는 객체이라고 하셔서
이 뒤에 background-color도 들어올 수 있고
지금 처럼 transform이 들어올 수 있다는 것은 알겠어요.
그런데 translate( ) 괄호안에서
0px, 0px을 분리해서
' + 0 + ' +px, 이렇게 분리하는게 더 보기 편한데
'px이게 하나의 문자처럼 보이고 헷갈리네요.
왜 이 아이는 '랑 붙여줬나요?
강의에서는 문자열을 분리했다고 했는데
문자열이 ' ' 안에 들어가는 아이인거고
조금 자세하게 설명 부탁드려요..
그리고 구지 +로 나눠줘야하는 이유가 있을까요?
그냥 (e.clientX, e.clientY)로 넣어주면 안되나..
답변 2
1
ballElem.style.transform = `translate(${e.clientX}px, ${e.clientY}px)`;
이렇게 변수 부분만 ${} 안에 넣어주세요~
1
px은 변수가 아니라 문자열이기 때문에
언급하신 ' + 0 + ' +px, 이런 식의 표기는 문법 오류가 납니다.
문자열이기 때문에 따옴표로 묶어서 표현해주어야 하는 것이지요~
예를 들어, 숫자 100과 문자열 px를 연결한다고 한다면
변수(또는 수) + '문자'
100 + 'px'
이렇게 +로 연결해 주었다고 생각하면 됩니다.
또는 ES6의 템플릿 문자열 형태로, 따옴표 대신 백틱(`)을 사용해서
`${100}px`
이런 식으로 할 수도 있고요. 변수나 숫자값만 ${}안에 넣으면 됩니다.
다만 이 방식은 IE는 지원하지 않고요.
transform의 translate는 CSS 규칙상 단위가 함께 들어가야하기 때문에
translate(e.clientX, e.clientY) 처럼 표시하면 동작하지 않습니다.
0
그럼 말씀하신대로 하면
ballElem.style.transform = 'translate(' + e.clientX +'px, ' + e.clientY + 'px)';를
ballElem.style.transform = translate`${ e.clientX, e.clientY}`; 이렇게 쓰면 되나요?
왼쪽/오른쪽 동작시 딜레이 문제
0
93
1
변수 범위 관련 질문
0
106
1
perspective 문의
0
100
1
생성자 함수를 클래스 함수로 변경 하고 this 오류 관련
0
150
1
스크롤이 중간 위치에 있을 때 창의 크기를 변환하면 생기는 문제
0
126
1
animation이벤트 질문이요!
0
71
1
resize handler에서 질문이 있습니다.
0
110
1
카드 뒤집힐 때 F가 보인 이유
0
149
1
3d 뒤집기 추가효과
0
216
1
전진! 3D 스크롤 21 강의 질문
1
171
1
eventlistener 질문
0
148
1
zMove 를 1000으로 설정하는 이유에 대하여.
0
168
1
[정보-23강] ES6 class 문법으로 공부하시는 분들!! 화살표 함수로도 시도해보셔요!
1
191
1
동적으로 html 생성 후 이벤트 위임 질문 있습니다.
0
265
1
rotateY()에서 deg에 따른 차이
0
196
1
코드 작성 순서
0
275
1
이미지가 없는데 첨부파일을 다운 받는 방법이 있나요??
1
392
1
'이벤트 위임 보강 영상'에 있는 예제 html이 안 보입니다
0
265
2
섹션5 자바스크립트 이벤트 다루기 질문
1
243
1
[#전진! 3D 스크롤 11] mousePos 공식 질문 있습니다!
0
423
2
css 는 직접 작성을 해야하는걸까용?
0
324
1
translateZ 에 px 이 아닌 vw 로 값을 주신 이유가 있을가요?
0
356
2
house 부분에도 width , height 부분을 꽉 차게 주신 부분이 제가 이해한게 맞는지 궁금합니다.
0
303
2
left:-400vw 가 아닌 translateZ(100vw); 을 입력하신 이유가 궁금합니다.
0
303
2





