Hotspots
A flexible modern hotspots js plugin.
Introduction
Installation
Yarn
yarn add @pluginjs/hotspots
NPM
npm i @pluginjs/hotspots
Getting Started
CDN:
Development:
<script src="https://unpkg.com/@pluginjs/hotspots/dist/hotspots.js"></script>
<link rel="stylesheet" href="https://unpkg.com/@pluginjs/hotspots/dist/hotspots.css">
Production:
<script src="https://unpkg.com/@pluginjs/hotspots/dist/hotspots.min.js"></script>
<link rel="stylesheet" href="https://unpkg.com/@pluginjs/hotspots/dist/hotspots.min.css">
Initialize
HTML:
<div class="element"></div>
ECMAScript Module:
import Hotspots from "@pluginjs/hotspots"
import "@pluginjs/hotspots/dist/hotspots.css"
Hotspots.of(document.querySelector('.element'), options)
CommonJS:
require("@pluginjs/hotspots/dist/hotspots.css")
const Hotspots = require("@pluginjs/hotspots")
Hotspots.of(document.querySelector('.element'), options)
Browser:
<link rel="stylesheet" href="https://unpkg.com/@pluginjs/hotspots/dist/hotspots.css">
<script src="https://unpkg.com/@pluginjs/hotspots/dist/hotspots.js"></script>
<script>
Pj.hotspots('.element', options)
</script>
API
Options
Options are called on hotspots instances through the hotspots options itself. You can also save the instances to variable for further use.
Name | Description | Default |
---|---|---|
"theme" |
Set plugin theme option | null |
"data" |
Set data | [] |
"popover" |
Set popover | {"theme":"hotspot","placement":"top","trigger":"hover focus","hideOutClick":true,"delay":0,"close":false,"html":true} |
"type" |
Set type | dot |
"icon" |
Set default icon | `` |
"templates" |
Set default templates | {} |
Events
Events are called on hotspots instances through the hotspots events itself. You can also save the instances to variable for further use.
Name | Description |
---|---|
"ready" |
Gets fired when plugin has ready |
"enable" |
Gets fired when plugin has enabled |
"disable" |
Gets fired when plugin has disabled |
"destroy" |
Gets fired when plugin has destroy |
"hover" |
Gets fired when plugin has hover |
"hovered" |
Gets fired when plugin has hovered |
"hotspotHover" |
Gets fired when plugin has hotspotHover |
"hotspotHovered" |
Gets fired when plugin has hotspotHovered |
"popoverShow" |
Gets fired when plugin has popoverShow |
"popoverShown" |
Gets fired when plugin has popoverShon |
"popoverInserted" |
Gets fired when plugin has popoverInserted |
"popoverHide" |
Gets fired when plugin has popoverHide |
"popoverHidden" |
Gets fired when plugin has popoverHiden |
Methods
Methods are called on hotspots instances through the hotspots method itself. You can also save the instances to variable for further use.
Name | Description |
---|---|
"value" |
Get value |
"enable" |
Enabled plugin if plugin is disabled |
"disable" |
Disable plugin |
"destroy" |
Destroy plugin |
Classes
Name | Description | Default
--||
"NAMESPACE"
| Declare plugin namespace | pj-hotspot
"CONTAINER"
| Declare plugin range | {namespace}s
"HOVERING"
| Announce plugin is hoverd | {namespace}s-hovering
"DISABLED"
| Announce plugin is disabled | {namespace}s-disabled
"HOTSPOT"
| Declare plugin hotspot | {namespace}
"THEME"
| Declare plugin theme | {namespace}--{theme}
"TYPE"
| Declare plugin type | {namespace}--{type}
"DOT"
| Declare plugin dot | {namespace}-dot
"ICON"
| Declare plugin icon | {namespace}-icon
"TEXT"
| Declare plugin text | {namespace}-text
"HOTSPOTHOVERING"
| Declare plugin hotspothovering | {namespace}-hovering
"HOTSPOTACTIVE"
| Declare plugin hotspotactive | {namespace}-active
Browser support
Tested on all major browsers.
IE / Edge | Firefox | Chrome | Safari | Opera |
---|---|---|---|---|
IE11, Edge | last 2 versions | last 2 versions | last 2 versions | last 2 versions |
License
@pluginjs/hotspots is Licensed under the GPL-v3 license.
If you want to use @pluginjs/hotspots project to develop commercial sites, themes, projects, and applications, the Commercial license is the appropriate license. With this option, your source code is kept proprietary.
For purchase an Commercial License, contact us purchase@thecreation.co.
Copyright
Copyright (C) 2022 Creation Studio Limited.