Giter Club home page Giter Club logo

zoom-vanilla.js's Introduction

zoom-vanilla.js npm version

                                                  _ _ _         _     
                                                 (_) | |       (_)    
  _______   ___  _ __ ___ ________   ____ _ _ __  _| | | __ _   _ ___ 
 |_  / _ \ / _ \| '_ ` _ \______\ \ / / _` | '_ \| | | |/ _` | | / __|
  / / (_) | (_) | | | | | |      \ V / (_| | | | | | | | (_| |_| \__ \
 /___\___/ \___/|_| |_| |_|       \_/ \__,_|_| |_|_|_|_|\__,_(_) |___/
                                                              _/ |    
                                                             |__/     

Live demo: zoom-vanilla.js in action.

A simple library for image zooming; as seen on Medium. 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.

This is a fork of the jQuery plugin by fat. These are the key differences:

  1. No jQuery dependency; vanilla JavaScript only
  2. Equivalentsmaller file size (the minified version is slightly smaller due to better minification)
  3. Includes bug fixes not present in fat/zoom.js, which is no longer being maintained

Installation

  1. Download the JS and CSS files using any of the following methods:    

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

    <!-- inside <head> -->
    <link href="path/to/dist/zoom.css" rel="stylesheet">
    
    <!-- before </body> -->
    <script src="path/to/dist/zoom-vanilla.min.js"></script>

    You can also import them if you're using webpack:

    import "zoom-vanilla.js/dist/zoom.css"
    import "zoom-vanilla.js/dist/zoom-vanilla.min.js"

Usage

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

  • git clone the repo
  • npm i to install dev dependencies
  • npm start to start a simple HTTP server (makes it easy to view the demo page)
  • npm run build to build the minified JS and vendor-prefixed CSS
  • npm run watch to rebuild when any JS files change (recommended for development)

zoom-vanilla.js's People

Contributors

spinningarrow avatar fat avatar heavybeard avatar collnwalkr avatar kittygiraudel avatar blackheart340 avatar joe-callon avatar theskumar avatar meleyal avatar daxhns 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.