basicrotate

1.1.2 • Public • Published

basicRotate

Donate via PayPal

Rotate throw a set of 360 degree images using your mouse or finger.

Contents

Demos

Name Description Link
Default Includes most features. Try it on CodePen

Features

  • Works in all modern browsers and IE11 (with polyfills)
  • Supports any kind of images
  • Zero dependencies
  • CommonJS and AMD support
  • Simple JS API

Requirements

basicRotate depends on the following browser APIs:

Some of these APIs are capable of being polyfilled in older browsers. Check the linked resources above to determine if you must polyfill to achieve your desired level of browser support.

Setup

We recommend installing basicRotate using npm or yarn.

npm install basicrotate
yarn add basicrotate

Include the CSS file in the head tag and the JS file at the end of your body tag…

<link rel="stylesheet" href="dist/basicRotate.min.css">
<script src="dist/basicRotate.min.js"></script>

…or skip the JS file and use basicRotate as a module:

const basicRotate = require('basicrotate')
import * as basicRotate from 'basicrotate'

Usage

Create an element filled with equal-sized images. Add the basicRotate class and initialize basicRotate using the basicRotate.create function. That's it!

<div class="basicRotate">
	<img src="1.jpg">
	<img src="2.jpg">
	<img src="3.jpg">
	<!-- ... -->
</div>
basicRotate.create(document.querySelector('.basicRotate'))

API

.create(elem, opts)

Creates a new basicRotate instance.

Be sure to assign your instance to a variable. Using your instance, you can…

  • …get the current image index.
  • …jump back and forward.
  • …goto a specific image.

Examples:

const instance = basicRotate.create(document.querySelector('#rotate'))
const instance = basicRotate.create(document.querySelector('#rotate'), {
	index: 1,
	tolerance: 5
})
const instance = basicRotate.create(document.querySelector('#rotate'), {
	beforeChange: (instance, newIndex, oldIndex) => console.log('beforeChange', instance, newIndex, oldIndex),
	afterChange: (instance, newIndex, oldIndex) => console.log('afterChange', instance, newIndex, oldIndex)
})

Parameters:

  • elem {Node} The DOM element/node which contains all images.
  • opts {?Object} An object of options.

Returns:

  • {Object} The created instance.

Instance API

Each basicRotate instance has a handful of handy functions. Below are all of them along with a short description.

.current()

Returns the current image index.

Example:

const current = instance.current()

Returns:

  • {Number} Current image index.

.goto(newIndex)

Navigates to an image by index and executes the beforeChange and afterChange callback functions.

Example:

instance.goto(0)

Parameters:

  • newIndex {Number} Index of the image to be displayed.

.prev()

Navigates to the previous image and executes the beforeChange and afterChange callback functions.

Example:

instance.prev()

.next()

Navigates to the next image and executes the beforeChange and afterChange callback functions.

Example:

instance.next()

Options

The option object can include the following properties:

{
	/*
	 * Initial image.
	 */
	index: 0,
	/*
	 * Rotate image by dragging.
	 */
	draggable: true,
	/*
	 * Dragging tolerance.
	 * Small number (1) = Very sensitive = Fast.
	 * Large number (∞) = Very insensitive = Slow.
	 */
	tolerance: 10,
	/*
	 * Dragging direction.
	 * x (or basicRotate.DIRECTION_X) = Detect movements on the x-axis.
	 * y (or basicRotate.DIRECTION_Y) = Detect movements on the y-axis.
	 */
	index: 'x',
	/*
	 * Callback functions.
	 * Returning false will stop the caller function and prevent the image from changing.
	 */
	beforeChange: (instance, newIndex, oldIndex) => {},
	afterChange: (instance, newIndex, oldIndex) => {}
}

Package Sidebar

Install

npm i basicrotate

Weekly Downloads

46

Version

1.1.2

License

MIT

Unpacked Size

38.6 kB

Total Files

11

Last publish

Collaborators

  • electerious