-
자바스크립트 (JavaScript) 자바스크립트 전광판 기능 - Marquee 효과 커스텀 (Vanilla JS Marquee) 예제입니다.
함수로 짜서 파라미터에 인자를 넣어서 사용할 수 있도록 만들었습니다.
// Marquee 커스텀 함수 : 파라미터는 (선택자, 속도, 방향전환 여부)function Marquee(selector, speed, reverse) {const parentSelector = document.querySelector(selector); // 클래스명을 인자로 받은 매개변수const clone = parentSelector.innerHTML; // 해당 클래스 엘리먼트의 html 값을 clone으로 선언const firstElement = parentSelector.firstElementChild;let i = 0;// console.log(firstElement);parentSelector.insertAdjacentHTML('beforeend', clone);parentSelector.insertAdjacentHTML('beforeend', clone);if (reverse) parentSelector.classList.add('reverse');const moveItem = () => {if (reverse) {firstElement.style.marginRight = `-${i}px`;} else {firstElement.style.marginLeft = `-${i}px`;}if (i > firstElement.clientWidth) i = 0;i += speed;requestAnimationFrame(moveItem);}requestAnimationFrame(moveItem); // 움직임을 계속해서 주기 위해 requestAnimationFrame 사용}// 윈도우 로드되면 해당 함수 실행window.addEventListener('load', function(){Marquee('.marquee1', 2, false);Marquee('.marquee2', 2, true);});kimyang-Sun노력하는 사람
'코딩 기록 > 코딩 소스 [HTML & CSS & JS]' 카테고리의 다른 글
바닐라 자바스크립트 D-day 계산 (Vanilla JS D-day) (0) 2023.08.08 스크롤트리거 예제 + 부드러운 스크롤 (ScrollTrigger Smooth Scroll (locomotive-scroll) ) (0) 2023.08.08 (자바스크립트) input type text 휴대전화 번호 양식, 날짜 양식에 맞게 입력되는 텍스트 입력창 기능 (0) 2023.08.07 바닐라 자바스크립트 header gnb 탑메뉴 예제 3개 (PC & 모바일) (3) 2023.05.02 자바스크립트 Input type File 파일명, 확장자만 나오게 커스텀 (0) 2023.03.29