본문 바로가기

분류 전체보기73

아이폰) x 축 스크롤에서 끝까지 당겨지지 않는 문제 상황 ) 텍스트를 가로로 쭉 나열하고, x축으로 스크롤을 선언. (flex 사용, 각 텍스트간 거리는 마진으로 처리) 문제 ) 아이폰에서 해당 스크롤이 마지막까지 끌어당겨지지 않음 문제해결 ) x축으로 나열된 해당 div 블랙 내부의 모든 margin을 padding 으로 수정. 이후 스크롤 제대로 작동. 앞으로 사용법 ) margin , padding 섞어서 쓰지 말고, padding으로 통일. 2022. 6. 29.
모바일) 선택한 탭, 센터로 이동하기 html --------------------------------------------------------------- 하와이 괌 태국 베트남 일본 영국 스페인 뉴질랜드 스위스 css --------------------------------------------------------------------- .tabs-container{ margin:20px 0; .tabs-wrapper{ width:100vw; overflow-x: scroll; -ms-overflow-style:none; scrollbar-width: none; padding:0 0 0 15px; box-sizing: border-box; display: flex; &::-webkit-scrollbar{ display: none;.. 2022. 6. 29.
함수 선언식 vs 함수 표현식 함수 선언식 function 함수명 ( ) { } 함수 표현식 var 함수명 = function ( ) { } 차이점 함수 선언식은 호이스팅(브라우저가 자바스크립트를 해석할 때 맨 위로 끌어 올려지는 것.)에 영향을 받음. 함수 표현식은 호이스팅에 영향 받지 않음. 팁 : 함수와 변수는 되도록 코드 상단에 선언하여 호이스팅으로 인한 스코프 꼬임 현상을 방지하자. 2022. 1. 20.
useEffect, useCallback, useMemo 간 비교 배경 이 세가지 hook은 관련된? 변수의 변화에 따라 연동되어 실행됨. 그 차이를 살펴보자. useEffect( callback , [관련 변수] ) 최초 컴포넌트 마운트, 컴포넌트 내 레이아웃 배치와 랜더링 완료된 후에 실행. 두번째 인자에 관련변수를 지정하면, 해당 변수값이 수정될 때만 실행. useCallback ( callback , [ 관련 변수] ) 두번째 인자값이 변경되는 경우, 이전에 기억하는 함수 자체와 비교하여 수정이 된 경우에만 리랜더링 함수 자체를 기억. (함수 생성 자체가 오래걸리는 경우, 즉 함수 내의 연산이 복잡한 경우 등에 사용하면 도움됨) 함수 reference를 기억 useMemo( callback , [관련 변수] ) 두번째 인자값이 변경되는 경우, 이전에 기억하는 함.. 2022. 1. 17.
mCustomScrollbar 사용 사용 동기 시스템 기본 스크롤이 아닌 예쁘게 디자인된 스크롤을 사용하고 싶었다. 회사 내에서 이 스크립트를 살짝 수정하여 사용중인데, 원 스크립트의 기본 동작을 시간 날때 살펴봐야겠다는 생각을 함. (링크 : http://manos.malihu.gr/jquery-custom-content-scroller/) HTML 구조 내용가득......................... // script 에 content class를 이용하여 스크롤 사용을 등록함 (아래 참조) , 참고로 mCustomScrollbar 클래스는 반드시 추가하여야 함. SCRIPT 구조 CSS 구조 .content {width: 200px; height: 200px; } // 높이값이 반드시 들어가야 작동합니다. 저는 내용값이 heig.. 2022. 1. 12.
Swiper 이 잘 동작하다 이거? 한 후 동작 안 할 경우, swiper를 사용중인데, react에서 보던 오류를 또 반복해서 겪어서 재 정리하려고 함. 문제상황 : swiper 가 포함된 div 혹은 탭이 새로고침 되거나, display: none에서 block으로 변경되어 화면에 보여질때, 해당 swiper 가 동작하지 않음 해결법 : swiper 옵션에 observer : true, observeParents : true 를 추가하면 됨. 특히나 여러 swiper를 사용시에 잘 동작하던 swiper가 동작을 안하는 경우가 있음. 이 옵션을 사용중인 모든 swiper에 추가하길 바람. 혹시나 탭 메뉴에 추가해서 사용중인 경우에도 탭 메뉴 선택으로 해당 swiper가 가려졌다 보여질 경우, 동작 안할 경우가 있는데, 이때도 이 옵션을 사용하기 바람. 2022. 1. 6.
css로 가로 스크롤 가능한 이미지 리스트 만들기 html 은 다음과 같이 작성해주세요 ..................li 태그 반복작성........ css 는 다음과 같이 작성해주세요. .carousel { overflow-x : scroll, display: flex; } li { flex : 0 0 600px; // 가로폭 600px 로 고정함 padding-right : 20px; // 리스트간 간격을 20px로 조정 img { width: 100%; height: 100%; // 높이를 모두 같이 맞출 경우 height 속성 사용 object-fit : contain 또는 cover ; 그대로 복사해서 사용하시면 안되고요. 읽고 이해하시면 간단하고 쉬운 가로 스크롤 이미지를 만드실 수 있습니다. 완성본 예 2022. 1. 3.
swiper 2개 연결해보기 main 스와이퍼, sub 스와이퍼 두개를 연결해서 한쪽의 슬라이드가 이동시, 다른 스와이퍼도 해당 페이지가 이동되게 구현하고 싶었다. 스와이퍼 구현은 swiper 홈페이지에서 확인가능하므로 여기서 생각하고, 바로 본론으로 들어가자. 두개의 스와이퍼 연결은 controller를 이용해 가능하다. 마지막줄이 서로 다른 두 스와이퍼를 등록해 주는 것이다. const mainSwiper = new Swiper(".main-swiper", { slidesPerView:1, slidesPerGroup:1, width: 330, spaceBetween:35, pagination: { el: ".swiper-pagination", clickable: true, }, }); const subSwiper = new Sw.. 2021. 12. 30.
monitorEvents 로 특정 태그에 발생하는 이벤트 추적하기 input 태그에서 발생되는 이벤트를 추적하고 싶었다. 위 그림의 input 버튼 발생시, 발생하는 이벤트를 추적하기 위해서 할일. F12 키를 눌러 개발자 도구를 연다. 콘솔창을 연다. 내가 추적하고자 하는 tag의 id 를 기억한다. 콘솔창에 monitorEvents( document.querySelector('#id 입력')); 해당 태그를 클릭하면 발생되는 이벤트가 콘솔창에 뜬다. 간단히 콘솔창에서 태그에서 발생되는 이벤트를 추적할수 있다. 2021. 12. 30.
Array.from 리액트의 스크롤 시, 무한 페이지 생성을 보다가 Array.from을 보게되었다. 이거 왜 쓰지? 싶었는데 배열 생성과 초기화가 간편하게 가능~해서. => {length: 5} 를 배열처럼 취급하는 이유는 js에서는 배열도 object라서. 배열의 __proto__를 살펴보면 나옴. 2021. 12. 17.