data-position 지정 질문드립니다.
179
작성한 질문수 7
function processTouchMove(event){
event.preventDefault();
let currentX = event.clientX || event.touches[0].screenX;
nowActiveLi = Number(currentActiveLi) + (Number(currentX)-Number(touchstartX));
currentClassList.style.transition = 'transfrom 0s linear';
currentClassList.style.transform = 'translateX('+String(nowActiveLi)+'px)';
}
마지막 마우스끌기에관한 강의에서 나온 코드입니다.
currentActiveLi = currentClassList.getAttribute('data-position') 이 설정되어 있는데
currentClassList.style.transform = 'translateX('+String(nowActiveLi)+'px)' 이 실행된다음
currentClassList.setAttribute('data-position',nowActiveLi) 를 하지않는 이유가 궁금합니다.
답변 1
0
안녕하세요. 어느 영상 부분인지는 기재를 안해주셔서, 정확히는 알수가 없는데요.
data-position 은 해당 카드가 최초 어느 위치에 있는지를 가지고 있는 변수라서요. 터치를 움직일 때, 해당 카드가 움직이는 모습을 보여주는 것은 transform 이고요. 그래서 터치를 움직일 때는 transform 을 바꿔주면서, 해당 카드를 터치한만큼 이동을 시켜줬고요. 터치가 끝나면, 터치한만큼의 애매한 위치에 카드를 놓는 것이 아니라, 일정한 간격을 둔 위치로 자동 이동을 시켜준 후에, 여기가 카드가 위치한 곳이니, 다음 카드를 또 터치할 경우, 여기부터 시작하라는 것을 알려주기 위해, 그 때 비로소 data-position 값을 설정한 것입니다.
그래서, 결론적으로 카드를 터치한만큼 이동하도록 하는 기능이 transform 이고, data-position 은 터치가 끝난 후, 최종 위치만 알려주는 기능을 하기 때문에, 터치할 때마다 data-position을 바로바로 설정할 필요는 없습니다. 워낙 브라우저마다 성능차이도 있어서, js 로는 가능한 최소한의 동작만 하도록 하는 것도 좋기도 합니다.
감사합니다.
교육기간을 연장할 수 있는지 문의드립니다.
0
34
1
메일 확인부탁드립니다
0
56
1
CodeSandbox Vanilla 질문있습니다
0
59
1
part1을 수강하지 않아도 지장이 없다 하셨는데
0
105
1
강의에 관해 문의 드립니다.
0
90
1
메일확인 부탁드립니다.
0
90
1
14강 - 72,73번 강의 영상이 동일한거 같습니다.
0
105
1
Symbol 관련 테스트 코드 실행 결과 문의
0
139
1
호환성 관련 태그
0
119
1
강의화면은 index.js인데 왜 샌드박스코드에서는 index.mjs인지 궁금해요
0
136
1
강의화면은 index.js인데 왜 샌드박스코드에서는 index.mjs인지 궁금해요
0
144
1
div id="highlighter"가 강의화면에는 없는데 왜 샌드박스파일에는 있는지 궁금해요
0
86
1
강의화면에 height 가 vh가 아닌 vw라고 나와있는데 뭐가맞는거죠
0
116
1
메일 확인 부탁드립니다.
0
146
1
메일 확인 부탁드립니다
0
150
1
특별한 형태의 javascript배열에서
0
135
1
메일 확인부탁드립니다!
0
160
1
codesandbox 업데이트..
0
143
1
pdf 파일에 있는 링크주소로 들어가지지가 않습니다.
0
266
2
강의에서 알려주신 Properties for the flex container 복습 사이트, 검색 발견되어서 공유드립니다~
0
151
1
removeEventlistener 를 왜 해주어야 하는지
0
227
1
100vw 관련 질문
0
332
2
VS CODE html:5 <tab>기능이 안됩니다
0
344
1
[모던웹페이지 만들기9](1:40)class-desc 카드부분관련
0
244
2





