@tsparticles/interaction-external-pause
Version:
tsParticles pause external interaction
120 lines (87 loc) • 3.48 kB
Markdown
[](https://particles.js.org)
# tsParticles External Pause Interaction
[](https://www.jsdelivr.com/package/npm/@tsparticles/interaction-external-pause)
[](https://www.npmjs.com/package/@tsparticles/interaction-external-pause)
[](https://www.npmjs.com/package/@tsparticles/interaction-external-pause) [](https://github.com/sponsors/matteobruni)
[tsParticles](https://github.com/tsparticles/tsparticles) interaction plugin for pause effect around mouse or HTML
elements.
## Quick checklist
1. Install `@tsparticles/engine` (or use the CDN bundle below)
2. Call the package loader function(s) before `tsParticles.load(...)`
3. Apply the package options in your `tsParticles.load(...)` config
## How to use it
### CDN / Vanilla JS / jQuery
The CDN/Vanilla version JS has one required file in vanilla configuration:
Including the `tsparticles.interaction.external.pause.min.js` file will export the function to load the interaction
plugin:
```javascript
loadExternalPauseInteraction;
```
### Usage
Once the scripts are loaded you can set up `tsParticles` and the interaction plugin like this:
```javascript
(async () => {
await loadInteractivityPlugin(tsParticles);
await loadExternalPauseInteraction(tsParticles);
await tsParticles.load({
id: "tsparticles",
options: {
/* options */
},
});
})();
```
### ESM / CommonJS
This package is compatible also with ES or CommonJS modules, firstly this needs to be installed, like this:
```shell
$ npm install @tsparticles/interaction-external-pause
```
or
```shell
$ yarn add @tsparticles/interaction-external-pause
```
Then you need to import it in the app, like this:
```javascript
const { tsParticles } = require("@tsparticles/engine");
const { loadInteractivityPlugin } = require("@tsparticles/plugin-interactivity");
const { loadExternalPauseInteraction } = require("@tsparticles/interaction-external-pause");
(async () => {
await loadInteractivityPlugin(tsParticles);
await loadExternalPauseInteraction(tsParticles);
})();
```
or
```javascript
import { tsParticles } from "@tsparticles/engine";
import { loadInteractivityPlugin } from "@tsparticles/plugin-interactivity";
import { loadExternalPauseInteraction } from "@tsparticles/interaction-external-pause";
(async () => {
await loadInteractivityPlugin(tsParticles);
await loadExternalPauseInteraction(tsParticles);
})();
```
## Option mapping
- Event mode key: `interactivity.events.onHover.mode` or `interactivity.events.onClick.mode` with value `"pause"`
- Mode options key: `interactivity.modes.pause`
```json
{
"interactivity": {
"events": {
"onHover": {
"enable": true,
"mode": "pause"
}
},
"modes": {
"pause": {}
}
}
}
```
## Common pitfalls
- Calling `tsParticles.load(...)` before `loadInteractivityPlugin(...)`
- Verify required peer packages before enabling advanced options
- Change one option group at a time to isolate regressions quickly
## Related docs
- All packages catalog: <https://github.com/tsparticles/tsparticles>
- Main docs: <https://particles.js.org/docs/>