basicrotate
v1.1.2
Published
Rotate throw a set of 360 degree images using your mouse or finger
Downloads
42
Maintainers
Readme
basicRotate
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) => {}
}