게시글
질문&답변
2023.03.05
화면을 부드럽게 이동하는 scrollTo 제이쿼리에 대해서
제가 우연히 해당 질문을 보고 부족한 지식이지만, 짧게나마 답변을 드려봅니다. 1.$뒤에 선택자가 없는 이유 : 자바스크립트 및 제이쿼리를 학습하시다보면 DOM이라는 객체구조모델을 학습하시게될텐데, 지금 사용중인 scroll 이벤트의 경우, 객체구조의 최상단인 window가 주체가 되는 모델입니다. 이러한 경우, window는 생략이 가능하기에 원래 원칙적으로는 $window.scrollTo가 되어야 하나, 그냥 $.scrollTo를 표기한 것으로 판단됩니다.2.hash 는 무엇인지 : 인스타그램 이라는 앱을 사용하시다보면, 해시태그라는 단어 한 번 이상 들어보셨으리라 생각이 듭니다. 그때 우리가 해시태그라고 표현하는 게 뭐였죠? 바로 이 #이라는 문자죠! 보통 웹문서에서 id선택자를 CSS에서 불러올 때, 선택자 앞에 #을 넣는데, 그때 정식 명칭이 이 hash 입니다. 그래서 우리가 #을 해시태그라고 하죠 (*해시태그 = hashtag) 상단 내비게이션 바를 클릭했을 때, 원하는 화면으로 자연스럽게 흘러가게 하기위해서 this.hash 라는 구문을 작성한것입니다. 여기에서 this가 가르키는 객체는 당연히 선택자를 가르키구요.3.|| 0, 900 는 무엇인지 : 제이쿼리에서 윈도우 스크롤 이동 이벤트를 진행할 때, 보통 최상단으로 이동시키는 명령어가 $.scrollTop(0)으로 사용하는 것으로 알고 있습니다. 쉽게 말하면 $.scrollTo(0)은 현재 보고 있는 화면의 최상단을 의미하는 것이겠죠. 그이야기인즉 아무런 행동을 하지 않겠다는 뜻입니다. 다시 본론으로 돌아와서 설명해드리자면, $.scrollTo(this.hash || 0, 1500) 이 문장은 $.scrollTo(true || false, time)을 의미하는 것으로서, 스크롤이벤트를 진행하는데 있어서 html 본문에 선택자의 해시가 설정된게 있다면(*true)라면 true값을 따라 가라는 뜻이고, || (*or의 개념입니다.) 그렇지 않다면, 쉽게 말하면 현재 걸려있는 id선택자가 없다면, false값을 따라 가라, 즉 내비게이션이 위치한 최상단에 머물러 있어라 그 뜻입니다. 끝으로 마지막에 위치한 900이라는 숫자는 자바스크립트 및 제이쿼리에서 사용하는 숫자의 단위가 밀리초로서 1초 = 1000msc를 의미합니다. 여기에서 900을 넣었다는 건, 0.9초를 의미하는 거겠죠. 쉽게 말하면 숫자가 작아질수록 더 빠르게 해당 페이지로 이동을 한다는 뜻입니다.저 역시 코딩웍스 선생님의 강의를 열강하는 사람으로서 우연히 보다가 답변 남겨드려봅니다. 코딩웍스 선생님 항상 응원합니다. 감사합니다.
- 1
- 3
- 1.4K
질문&답변
2023.01.24
openWeatherMap API 에러발생 시 대처방법 공유
이런.ㅠㅠ then, catch 강의 14분02초에 강사님께서 말씀해주시는군요. 오지랖 죄송합니다.
- 2
- 1
- 990