Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

basicrotate

Package Overview
Dependencies
Maintainers
1
Versions
4
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

basicrotate

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

  • 1.1.2
  • latest
  • Source
  • npm
  • Socket score

Version published
Maintainers
1
Created
Source

basicRotate

Donate via PayPal

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

Contents

Demos

NameDescriptionLink
DefaultIncludes 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) => {}
}

Keywords

FAQs

Package last updated on 17 Jan 2021

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc