Giter Club home page Giter Club logo

zoom-vanilla.js's Introduction

zoom-vanilla.js

A simple library for image zooming; as seen on Medium.

This is a fork of the jQuery plugin by fat. This version does not depend on jQuery or any third-party libraries and is of equivalent file size.

Live demo: https://spinningarrow.github.io/zoom-vanilla.js

It zooms in really smoothly, and zooms out when you click again, scroll away, or press the esc key.

If you hold the โŒ˜ or Ctrl key when clicking the image, it will open the image in a new tab instead of zooming it.

Usage

  1. Download dist/zoom-vanilla.min.js and css/zoom.css from GitHub, or install via npm by running npm i zoom-vanilla.js.

  2. Add the zoom-vanilla.min.js and zoom.css files to your HTML page:

<link href="css/zoom.css" rel="stylesheet"> <!-- inside <head> -->
<script src="dist/zoom-vanilla.min.js"></script> <!-- before </body> -->
  1. Add a data-action="zoom" attribute to the images you want to make zoomable:
<img src="img/blog_post_featured.png" data-action="zoom">

Browser support

zoom-vanilla.js should (in theory) work in all modern browsers. If not, create an issue! Thanks!

Known issues

  • The image is appended to the body; use an appropriate CSS selector for extra styling
  • Zooming may not be quite right if the aspect ratio of the image is changed

Build

  • Clone this repository and run npm i before starting development.
  • To easily view the demo page, the project comes bundled with an HTTP server. Start it by executing npm start.
  • To build the minified JS, execute npm run build.
  • While developing, it gets annoying to keep executing npm run build every time a change is made. Instead execute npm run watch which will watch the zoom-vanilla.js file for changes and create the minified JS automatically.

zoom-vanilla.js's People

Contributors

spinningarrow avatar fat avatar heavybeard avatar collnwalkr avatar kittygiraudel avatar blackheart340 avatar joe-callon avatar theskumar avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.