# Smooth Zoom

Smooth Zoom

Other
Smooth Zoom

Medium이나 Google Photos처럼 이미지를 부드럽게 확대할 수 있게 하는 가벼운 자바스크립트 라이브러리입니다.

👀 Demo
Github

설치

npm install smooth-zoom
# or
yarn add smooth-zoom

브라우저 버전을 사용하시려면 건너뛰셔도 됩니다.

사용

<script src="https://cdn.jsdelivr.net/npm/smooth-zoom@latest/dist/zoom.min.js"></script>
<!-- or -->
<script src="node_modules/smooth-zoom/dist/zoom.min.js"></script>

브라우저 버전을 사용하시려면 위 cdn 링크를, npm 패키지를 설치하셨다면 아래 링크를 사용하실 수 있습니다.

브라우저 버전을 사용할 때 latest 버전을 불러오시면 업데이트가 한참 진행 중일 땐 최신 버전이 유지되지 않을 수 있습니다.
npmjs 에서 최신 버전을 확인하셔서 latest 대신 해당 버전 명을 넣으셔도 됩니다.

import Zoom from "smooth-zoom";

모듈로 가져오는 방법도 있습니다.

Zoom(".zoomable");

그 뒤 CSS 셀렉터를 넘기며 호출하시면 됩니다.
추후 React 등에서도 편하게 사용하실 수 있게 element를 넘기는 방법 등도 업데이트하도록 하겠습니다.

옵션

Zoom(".zoomable", {
originalizer: (src) => src.replace(/-[0-9]+\.jpg/, ".jpg"),
background: "auto",
});

originalizer

  • 타입 : (src: string) => string
  • 기본값 : (src) => src
  • 설명 : image-768x768.jpgimage.jpg로 바꾸듯 이미지의 주소를 원본 주소로 바꾸기 위한 함수입니다.
(src) => `${src.replace(/\/(R|C)[0-9]+x[0-9]+\//, "R0x0")}?original`;

티스토리 예제

(src) => src.replace(/-[0-9]+x[0-9]+/, "");

워드프레스 예제

(src) => src.replace(/=w[0-9]+/, "=w0");

Google Photos 예제

background

  • 타입 : string
  • 기본값 : rgb(0, 0, 0)
  • 설명 : 이미지가 줌 인 되었을 때 배경에 나타나는 색상입니다. “auto“를 사용하시면 자동으로 이미지의 평균 색상으로 지정됩니다. CORS 설정이 되지 않은 외부 이미지는 기본값인 rgb(0, 0, 0) 값으로 지정되니 참고해주세요.
내 아바타
님에게 답글

댓글을 불러오는 중...

Other 카테고리 관련 글

위 글이 유용하셨다면, 아래 글도 읽어보세요!

About IU

About IU

소개 React.js와 친해지기 프로젝트 일환으로, 앞서 html, css, javascript로 제작한 트와이스 팬 페이지의 디자인을 기반으로 React로 아이유 팬 페이지를 제작했습니다.팬 페이지 만들 대상을 고민하다, 로고를 중심으로 Home, About / Discography, Filmography로 두 개씩 대칭을 맞출 수 있는 아이유를 선택했습니다. 앨범 데이터 JSON으로 작업하면서 양이 워낙 많아 괜히 했나 생각도 잠깐

ReactJS 아이유
디스코드 아이유 봇 - 프로토타입

디스코드 아이유 봇 - 프로토타입

어제 대충 만들었던 아이유 봇이 이제 대충 구색은 갖추고 돌아가는 중입니다. 제일 처음 만든 목적은 움짤 편하게 보내고 랜덤으로 움짤 보기였는데, 이런저런 기능이 덕지덕지 많이 붙었네요.붙이다 보니 하고 싶은 건 더 많아져서 끝도 없네요.

Discord IU Bot
[JS] Infinite Scroll 플러그인

[JS] Infinite Scroll 플러그인

스크롤을 움직이거나 버튼을 클릭하면 다음 / 이전 페이지의 내용을 불러오는 플러그인입니다. 깃허브 데모 페이지Masonry 데모 설치 CDN &lt;!-- 압축 --&gt; &lt;script src=&quot;https://cdn.jsdelivr.net/gh/marshallku/infinite-scroll/dist/infiniteScroll.min.js&quot;&gt;&lt;/script&gt; &lt;!-- 원본 --&gt; &lt;script src=&quot;https://cdn.jsdelivr.net/gh/marshallku/infinite-scroll/dist/infiniteScroll.js&quot;&gt;&lt;/script&gt; 다운로드 infiniteScroll.min.js - 압축된 jsinfiniteScroll.js - 원본 js 시작하기 JS 파일 삽입 &lt;script src=&quot;파일/경로/infiniteScroll.js&quot;&gt;&lt;/script&gt; cdn을 사용하시면 cdn 경로를, 본인이 js 파일을 업로드해 사용하신다면 해당 경로를 script 태그에 넣어서 사이트에 삽입해주세요. 기본적인 HTML 구조 &lt;article id=&quot;container&quot;&gt; &lt;div class=&quot;item&quot;&gt;내용&lt;/div&gt;

JavaScript infinite scroll
크롬 확장 프로그램 - TWICE New Tab

크롬 확장 프로그램 - TWICE New Tab

크롬 웹 스토어 링크 밋밋한 새 탭이 지겨워 만든 확장 프로그램입니다. 새 탭을 트와이스, 할 일 목록, 날씨, 포커스 타이머 등으로 채울 수 있습니다. 할 일 목록 (투 두 리스트) 좌측부터 북마크, 검색, D-day, 현재 날씨 대부분 설정에서 간단하게 사용자화가 가능합니다. 집중을 유지하기 위해, 집중할 시간을 설정하면 해당 시간 동안 유튜브 등의 사이트에 접속을 차단합니다.

확장 프로그램 크롬 TWICE New Tab