angular-image-zoom | AngularJs Directive for image zoom

Image-Zoom directive


Stars : 10

Forks : 10

Created by OwlSomely

Demo Download GitHub

Angular Image Zoom

A native angular.js diretive that provide basic image-hover-zoom feature like jQuery's CloudZoom

Created for


  • JS: min: 3,015 B
  • CSS: 650 B
  • Template: 148 B




  1. include the image-zoom as a dependency for your app.

    angular.module('myApp', ['ImageZoom']);
  2. include the supplied CSS file (or create your own).

  3. add image-zoom element

    <div image-src="./Pevensey_castle-09.jpg" image-zoom></div>

    Alternate Template URL

    <div image-src="./Pevensey_castle-09.jpg" image-zoom data-template-url="/assets/my-image-template.html"></div>
  4. configuration attributes

    • zoom-factor (defaults to 1.5): Sets how much zoom will be applied to the image. It’s a multiplier for image display size.
      Example: ```html


div image-src="./Pevensey_castle-09.jpg" image-zoom zoom-factor="2"> ```

  • background-color (defaults to 'transparent'): Sets the background color for the magnifying glass.

    <div image-src="./Pevensey_castle-09.jpg" image-zoom background-color="'#FFFFFF'">
  • max-width and max-height: If at least one of the two values is set, image size will be calculated to fit maintaining its aspect ratio. If only one of the two is set, the other will be set with image’s natural width/height. Example: ```html


div image-src="./Pevensey_castle-09.jpg" image-zoom max-width="300" max-height="250"> ```

  • position-absolute: If attribute is set to true, magnifying glass position will take page scrolling in account. This feature is intended for using the plugin within an absolute positioned element. Example: ```html


div image-src="./Pevensey_castle-09.jpg" image-zoom position-absolute="true"> ```

  1. optional Switch Images (refer to the demo):

    <body ng-app="ImageZoomExample" ng-controller="ExampleCtrl">
    <div class="container">
      <h1>Angular Image Zoom Demo</h1>
      <div class="thumbnail" style="width: 400px;">
        <div image-src="./Pevensey_castle-09.jpg" image-zoom>
        <h2>Switch Images</h2>
        <div class="row thumbnails">
          <div class="col-xs-4">
            <a ng-click="switchImage('Pevensey_castle-09.jpg')" class="thumbnail product-image">
              <img src="320px-Pevensey_castle-09.jpg" alt="wooops" />
          <div class="col-xs-4">
            <a ng-click="switchImage('Pevensey_Castle_exterior.jpg')" class="thumbnail product-image">
              <img src="320px-Pevensey_Castle_exterior.jpg" alt="woops" />


npm install

Run Local Server

grunt dev


grunt build


Chen Liang


and contributors


Inspired by


Licensed under the MIT license


Javascript plugin