Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

🔍 React image zoom component

License

NotificationsYou must be signed in to change notification settings

samuelmeuli/react-magnifier

Repository files navigation

React image zoom component

  • Simple and customizable
  • Supports touch screens
  • Allows different files for large image and magnifying glass (e.g. thumbnail and high-resolution image)

Demo

Demo

Usage

Install the package using NPM:

npm install react-magnifier

Add the component to your React application:

importMagnifierfrom"react-magnifier";importyourImagefrom"./path/to/image";exportdefaultfunctionExampleComponent(){return<Magnifiersrc={yourImage}width={500}/>;}

Configuration

PropTypeDefaultDescription
src (required)StringURL/path of the large image
heightNumber/String'auto'Image height (absolute or relative values possible)
widthNumber/String'100%'Image width (absolute or relative values possible)
classNameString''Class which will be applied to the image wrapper
zoomImgSrcStringURL/path of the image inside the magnifying glass (if not specified, the large image will be used)
zoomFactorNumber1.5Factor by which the zoom image will be scaled (based on the size of the large image)
mgWidthNumber150Width of the magnifying glass in px
mgHeightNumber150Height of the magnifying glass in px
mgBorderWidthNumber2Border width of the magnifying glass in px
mgShapeString'circle'Shape of the magnifying glass (possible values:'circle','square')
mgShowOverflowBooleantrueSet this tofalse to cut off the magnifying glass at the image borders. When disablingmgShowOverflow, it's recommended that you also set all offsets to0
mgMouseOffsetXNumber0Horizontal offset of the magnifying glass in px when hovering with a mouse
mgMouseOffsetYNumber0Vertical offset of the magnifying glass in px when hovering with a mouse
mgTouchOffsetXNumber-50Horizontal offset of the magnifying glass in px when dragging on a touch screen
mgTouchOffsetYNumber-50Vertical offset of the magnifying glass in px when dragging on a touch screen

Any other props will be passed down to the<img> element. This way, you can e.g. add analt attribute to the image.

Custom styling

.magnifier {/* Styles for <div> around image and magnifying glass */}.magnifier-image {/* Styles for large image */}.magnifying-glass {/* Styles for magnifying glass */}

Development

Requirements: Node.js, Yarn

  1. Clone this repository:git clone [repo-url]
  2. Install all dependencies:yarn install
  3. Runyarn start to generate the library bundle usingRollup and see the component in action usingStorybook

Suggestions and contributions are always welcome! Please first discuss changes via issue before submitting a pull request.


[8]ページ先頭

©2009-2025 Movatter.jp