Initialization
The initParticleJS() function is the entry point to ParticleText.js. This function initializes a particle text animation on a canvas element.
Function Signature
Section titled “Function Signature”initParticleJS(elementSelector, configurationObject)Parameters
Section titled “Parameters”| Parameter | Type | Required | Description |
|---|---|---|---|
elementSelector | String | Yes | CSS selector for the canvas element (e.g., '#myCanvas', .particle-canvas) |
configurationObject | Object | Yes | Configuration options for the particle animation |
Return Value
Section titled “Return Value”Returns an object with the following properties and methods:
| Property/Method | Type | Description |
|---|---|---|
isAnimating | Boolean | Current animation state (true if running) |
particleList | Array | Array of all particle objects |
getCurrentBreakpoint() | Function | Returns current responsive breakpoint |
startAnimation() | Function | Starts the animation (use when autoAnimate is false) |
forceRequestAnimationFrame() | Function | Forces a single frame render |
Basic Usage
Section titled “Basic Usage”// Minimal initializationconst particleText = initParticleJS('#canvas', {colors: ['#695aa6']});
// The function returns an object you can use for controlconsole.log(particleText.isAnimating); // trueconsole.log(particleText.particleList.length); // Number of particlesCanvas Element Requirements
Section titled “Canvas Element Requirements”The canvas element must exist in the DOM before calling initParticleJS():
<!-- Canvas must be in HTML --><canvas id="myCanvas" data-text="ParticleText" width="1200" height="400"></canvas>
<script src="particleText.js"></script><script>// Initialize after canvas existsinitParticleJS('#myCanvas', { colors: ['#695aa6']});</script>Common Initialization Patterns
Section titled “Common Initialization Patterns”1. Minimal Configuration
Section titled “1. Minimal Configuration”Uses default values for most options:
initParticleJS('#canvas', {colors: ['#695aa6']});2. Complete Configuration
Section titled “2. Complete Configuration”Specifies all common options:
initParticleJS('#canvas', {text: 'ParticleText',colors: ['#695aa6', '#8b7bb8', '#a89bc9'],fontSize: 100,width: 1200,height: 400,fontWeight: 'bold',textAlign: 'center',autoAnimate: true,maxParticles: 5000,trackCursorOnlyInsideCanvas: false});3. Store Reference for Later Control
Section titled “3. Store Reference for Later Control”// Store the referenceconst myAnimation = initParticleJS('#canvas', {colors: ['#695aa6'],autoAnimate: false});
// Control it laterdocument.getElementById('startBtn').addEventListener('click', () => {myAnimation.startAnimation();});
// Check current stateif (myAnimation.isAnimating) {console.log('Animation is running');}4. Multiple Instances
Section titled “4. Multiple Instances”// Initialize multiple canvasesconst header = initParticleJS('#headerCanvas', {text: 'Welcome',colors: ['#FF6B6B'],fontSize: 120});
const footer = initParticleJS('#footerCanvas', {text: 'Thank You',colors: ['#4ECDC4'],fontSize: 80});
// Control them independentlyheader.startAnimation();footer.startAnimation();DOM Ready Considerations
Section titled “DOM Ready Considerations”Ensure the canvas exists before initialization:
Using defer attribute
Section titled “Using defer attribute”<!-- Recommended: Use defer --><canvas id="canvas" data-text="Hello"></canvas><script src="particleText.js" defer></script><script defer>initParticleJS('#canvas', { colors: ['#695aa6'] });</script>Using DOMContentLoaded
Section titled “Using DOMContentLoaded”<script>document.addEventListener('DOMContentLoaded', () => { initParticleJS('#canvas', { colors: ['#695aa6'] });});</script>At End of Body
Section titled “At End of Body”<body><canvas id="canvas" data-text="Hello"></canvas>
<!-- Scripts at end of body --><script src="particleText.js"></script><script> initParticleJS('#canvas', { colors: ['#695aa6'] });</script></body>Error Handling
Section titled “Error Handling”The library will throw errors for invalid configurations:
try {initParticleJS('#canvas', { colors: ['invalid-color'] // Will throw error});} catch (error) {console.error('Initialization failed:', error.message);}Common initialization errors:
| Error | Cause | Solution |
|---|---|---|
| ”Canvas element not found” | Invalid selector or element doesn’t exist | Check selector and ensure canvas is in DOM |
| ”Missing required ‘text’ property” | No text specified | Add text config or data-text attribute |
| ”Color at index 0 is not a valid hex color” | Invalid color format | Use 6-digit hex format: #RRGGBB |
Validation
Section titled “Validation”The library validates your configuration and will log warnings for:
- Invalid breakpoint names
- Invalid particle radius structure
- Invalid friction values
- Missing required properties
// This will log validation warningsinitParticleJS('#canvas', {colors: ['#695aa6'],particleRadius: { 'invalid-breakpoint': { base: 1, rand: 1 } // Warning: invalid breakpoint}});Text Source Priority
Section titled “Text Source Priority”The library looks for text in this order:
- Configuration
textproperty (highest priority) - Canvas
data-textattribute - Error if neither exists
<!-- data-text attribute --><canvas id="canvas" data-text="From Attribute"></canvas>
<script>initParticleJS('#canvas', { text: 'From Config', // This takes priority colors: ['#695aa6']});// Will display: "From Config"</script>Next Steps
Section titled “Next Steps”- Configuration Reference - All configuration options
- Methods - Available methods
- Properties - Exposed properties
- Examples - See initialization in action