본문 바로가기

WEB Basic28

checkbox, range, range, progress 색상 변경 (css accent-color) accent-color CSS accnet-color 속성은 UI 컨트롤 요소의 accent(악센트) 색상을 변경할 수 있다. 변경되는 accent 색상에 따라 체크요소나 배경색은 시각적으로 확인하기 적절한 색상으로 변경된다. 브라우저는 accent-color속성은 아래와 같은 HTML element에 적용된다. 이 중 체크박스는 accent-color의 색상에 따라 체크 색상이 #3B3B3B 혹은 #FFFFFF으로 변경되는데, 둘 중 시각적으로 확인 하기 좋은 색으로 변경된다. 문법 /* Keyword values */ accent-color: auto; /* values */ accent-color: red; accent-color: #5729e9; accent-color: rgb(0, 200, 0).. 2023. 2. 6.
자바스크립트 주소찾기 기능 구현 with 다음 우편번호 API 1. 분석 웹 프로젝트를 진행할 때, 특히 쇼핑몰같이 배송정보가 필요한 웹 프로젝트를 진행하는 경우 필수가 되는 기능인 주소찾기 기능을 구현한다. 그 중 전국의 모든 주소를 개인 DB에 저장하거나 현행화 하는 것이 불가능 하다고 봐야 하는데, 다음(카카오) 우편번호 API가 공개돼 있어서 API key가 없이도 사용이 가능하다. 가이드 페이지에서 아래와 같이 다음 우편번호 API를 소개하고있다. https://postcode.map.daum.net/guide Key를 발급 받을 필요가 없습니다. 사용량에 대한 제한이 없습니다. 기업용이든 상업적 용도이든 상관없이 무료로 사용 가능합니다. 위와 같은 이유에서 웹 프로젝트에 주소 찾기 기능을 구현할 때 디자인 커스텀이 반드시 필요한 경우가 아닌 경우 다음 우.. 2023. 2. 1.
CSS fade in, fade out 효과 구현하기 1. 분석 fade in, fade out 효과를 구현할 때 CSS 속성인 `opacity`와 `transition`을 활용해서 쉽게 구현할 수 있다. 이번 포스팅에선 CSS만 활용해서 효과를 구현할 것이기 때문에 마우스를 오버했을 때 효과가 나타나는 것을 구현한다. .fade-in { width: 100px; height: 100px; background-color: brown; opacity: 0; transition: 0.3s; } .tip1:hover + .fade-in { opacity: 1; } .fade-out { width: 100px; height: 100px; background-color: darkcyan; opacity: 1; transition: 0.3s; } .tip2:hover.. 2022. 5. 25.
Vanilla JavaScript Slider 자바스크립트 자동 슬라이드 구현 1. 분석 이전 무한 슬라이드 구현 포스팅에 이어서 자동 슬라이드를 구현해본다. 외부 라이브러리를 사용하지 않고 순수 자바스크립트만을 이용해 자동 슬라이드를 구현한다. 자동 슬라이드를 구현하기 위해선 기본적인 슬라이드 기능과 무한 슬라이드 기능이 구현된 상태에서 제대로 구현할 수 있다. 자동 슬라이드는 일정한 시간 간격으로 다음 슬라이드를 보여줘야 한다. 즉, 슬라이드 기능에서 다음 슬라이드를 보여주는 함수를 구현했다면 다음과 같이 `setInterval()`함수를 이용해서 일정 시간마다 다음 슬라이드를 보여주는 함수를 실행하도록 하면 된다. // 기본적으로 슬라이드 루프 시작하기 let loopInterval = setInterval(() => { nextMove(); // 다음 슬라이드를 보여주는 함.. 2022. 5. 22.
Vanilla JavaScript Slider 자바스크립트 무한 슬라이드 구현 1. 분석 이전 슬라이드 드래그 구현 포스팅에 이어서 무한 슬라이드 기능을 구현하려 한다. 외부 라이브러리를 사용하지 않고 순수 자바스크립트만을 이용해 무한 슬라이드를 구현한다. 무한 슬라이드를 구현하기 위해선 처음과 마지막 슬라이드에서 이전, 이후로 이동했을 때 자연스럽게 슬라이드가 진행돼야 한다. 예를 들자면 1, 2, 3, 4, 5 슬라이드가 존재할 때 5번에서 다음 버튼을 눌렀을 때 1번 슬라이드를 보여주는 것이다. 따라서 시각적으로 자연스럽게 무한 슬라이드를 구현하기 위해 처음과 마지막 슬라이드를 각각 복제 해서 슬라이드를 보여줄 것이다. 먼저 엘리먼트를 복제한다. 복제하는 단계에서 엘리먼트 태그, 클래스, 앨리먼트 안의 내용을 모두 복사해준다. // 무한 슬라이드를 위해 start, end 슬.. 2022. 5. 21.
Vanilla JavaScript Slider 자바스크립트 슬라이드 드래그(drag), 스와이프(swipe) 구현 1. 분석 이전 슬라이드 페이지네이션 구현 포스팅에 이어서 드래그 기능을 추가한 슬라이드를 구현하려 한다. 이번에도 마찬가지로 Jquery나 다른 API를 사용하지 않고 순수 자바스크립트만을 이용해 슬라이드 드래그(스와이프)를 구현하려 한다. 드래그(스와이프)로 슬라이드를 조작하기 위해서 자바스크립트의 DOM 이벤트(MDN 이벤트 리스트)를 이용한다. 드래그는 PC에서 마우스 버튼 누르기(mousedown), 마우스 버튼 떼기(mouseup) 이벤트를 이용해서 드래그를 구현하고, 스와이프는 모바일기기에서의 터치 시작(touchstart), 터치 끝(touchend) 이벤트를 이용해서 스와이프를 구현한다. 시작 위치(startPoint)와 끝 위치(endPoint)를 각 이벤트마다 할당받아서 시작 위치와 .. 2022. 5. 10.
Vanilla JavaScript Slider 자바스크립트 슬라이드 페이지네이션(pagination) 구현 1. 분석 이전 슬라이드 버튼 구현 포스팅에 이어서 페이지네이션 기능을 추가한 슬라이드를 구현하려 한다. 이번에도 마찬가지로 Jquery나 다른 API를 사용하지 않고 순수 자바스크립트 만을 이용해 슬라이드 페이지네이션을 구현한다. 먼저 페이지네이션을 생성할 때 슬라이드 전체 개수(maxSlide)만큼 반복하여 페이지네이션 엘리먼트를 추가시킨다. 이후 페이지네이션 클릭 시 슬라이드의 이동은 슬라이드 버튼 구현시 left offset을 이용해 슬라이드를 이동시킨것을 똑같이 이용해서 페이지네이션 클릭 시 이동할 수 있게 할 것이다. 페이지네이션을 추가 했으므로 이전, 이후 버튼 클릭시에도 페이지네이션의 위치가 똑같이 연동될 수 있도록 해야한다. 버튼 클릭 이벤트에 구현해놓은 부분에 버튼 클릭으로 이동된 현재.. 2022. 5. 4.
Vanilla JavaScript Slider 자바스크립트 슬라이드 네비게이션 버튼 구현 1. 분석 Jquery나 다른 API를 사용하지 않고 순수 자바스크립트만을 이용해 슬라이드를 네비게이션 버튼을 구현하려 한다. 자바스크립트의 DOM 조작과 CSS의 flex, position을 이용해 구현해본다. 슬라이드 컨테이너, 슬라이드 아이템의 개념을 이해한다. 이전, 이후 버튼 클릭 시 슬라이드 아이템에 left offset을 적용시켜 이동할 수 있도록 구현할 것이다. 이동하는 과정에서 현재 슬라이드 위치를 기억하는 변수를 만들어 첫번째와 마지막 슬라이드 이외로 넘어가지 않도록 조건문을 걸어 슬라이드가 이상하게 작동하지 않도록 예방한다. 2. 구현 결과 미리보기 구현된 버튼 슬라이드는 아래와 같이 작동한다. HTML 삽입 미리보기할 수 없는 소스 3. 구현 3.1. HTML - index.html.. 2022. 5. 3.
JavaScript var, let, const with variable hoisting 1. 자바스크립트 변수 할당 자바스크립트에서 변수가 할당될 때는 아래와 같은 3단계를 거친다. 1) 선언 단계(Declaration phase)변수를 실행 콘텍스트의 변수 객체(Variable Object)에 등록한다. 이 변수 객체는 스코프가 참조하는 대상이 된다. 2) 초기화 단계(Initialization phase)변수 객체(Variable Object)에 등록된 변수를 위한 공간을 메모리에 확보한다. 이 단계에서 변수는 undefined로 초기화된다. 3) 할당 단계(Assignment phase)undefined로 초기화된 변수에 실제 값을 할당한다. 1.1 var var 키워드로 선언된 변수는 선언과 초기화 단계가 한 번에 일어난다. 자바스크립트 ES6문법 이전에는 var 키워드를 사용했는데.. 2021. 7. 7.
CSS 선택자(Selector) 종류와 적용 우선순위 CSS 선택자(Selector)란 CSS 규칙을 적용할 요소를 정의합니다. 프론트엔드 개발을 하다보면 공통된 스타일 요소를 적용하고 싶을 때 어떤 CSS 선택자를 사용할 수 있는지, 다른 개발자가 구현한 화면을 보고 어떻게 스타일을 적용해서 구현했는지 검사도구로 확인 해 볼 때 :before, :after등 들어보지 못한 CSS 선택자 종류를 접하게 됩니다. 또한 한 프로젝트를 협업하다보면 A와 B가 서로 다른 세부 페이지 화면을 개발하고 통합하려는데 CSS 선택자값이 겹쳐서 적용 우선순위에 따라 CSS가 충돌이 일어나는 경우도 있을겁니다. 이런 경우 CSS 선택자 종류와 적용 우선순위에 대한 이해도가 있다면 충돌 문제를 쉽게 해결할 수 있을 것입니다. 따라서 해당 글에서는 CSS를 적용하는 CSS 선택.. 2021. 3. 29.
[JavaScript30] 05. Flex Panel Gallery - flex layout, toggle click JavaScript30 - 바닐라 자바스크립트 Day5 1. 소스코드 - HTML Hey Let's Dance Give Take Receive Experience It Today Give All You can Life In Motion 2. 주목할 만한 문법 2.1. CSS Flex layout - 웹 레이아웃을 디자인할 때 HTML과 CSS 스펙이 발달하기 전처럼 float, table로 레이아웃을 설계하는 것이 아닌 display: flex; 플렉스 속성으로 쉽고 강력하게 레이아웃을 디자인할 수 있다. - flex layout은 레이아웃을 설계할 때 컨테이너 크기에 유연하게 설계할 수 있기 때문에 반응형 웹 디자인을 할 때에도 많이 사용된다. 참고: developer.mozilla.org/ko/doc.. 2021. 3. 8.
[JavaScript30] 04. Array Cardio Day 1 - 배열 메서드 활용 1 JavaScript30 - 바닐라 자바스크립트 Day4 1. 소스코드 - HTML Psst: have a look at the JavaScript Console 💁 2. 주목할 만한 문법 2.1. 배열 조건 검사 - Array.prototype.filter() - filter() 메서드는 배열의 요소를 조건에 따라 분류해 새로운 배열을 반환하는 메서드다. - 메서드 사용 방법은 배열.filter(함수); 이다. - 함수에서 조건을 명시하여 조건에 맞는 값들만 배열값으로 반환한다. const words = ['spray', 'limit', 'elite', 'exuberant', 'destruction', 'present']; const result = words.filter(word => word.leng.. 2021. 3. 7.