The idea behind rainyday.js is to create a JavaScript library that makes use of the HTML5 canvas to render an animation of raindrops falling on a glass surface. Simple enough, right?
Have a look at the demos to see it in action.
var rainyDay = new RainyDay(options)
Option | Defaults | Description | ||
---|---|---|---|---|
image | None | [Required] Source image element, ID or element with background image or ID of element with background image | ||
parentElement | Optimal | Specify Id of the parent element which should contian generated effect. | ||
sound | none | Path of the sound file to play | ||
blur | 10 | Blur strength applied to the image | ||
crop | none | Crop object if you want to use a cropped portion of the image. | ||
enableCollisions | true | Enable collisions between rain drops | ||
enableSizeChange | true | Hanlde canvas update when screen size changes | ||
fps | 24 | Rendering fps of canvas updates | ||
gravityAngle | Math.PI / 2 | Angle of gravity | ||
gravityAngleVariance | 0 | Adds variance to gravity to simulate wind effects | ||
gravityThreshold | 3 | Strength of the gravity |
var rainyDay = new RainyDay({image: '#myHeader'})
Method | Description | Example | ||
---|---|---|---|---|
rain | Applies rain presets to the initliazed RainyDay Object. |
rainyDay.rain([ [3 //min drop size, 3//max drop size, 0.88//delay], [5, 5, 0.9], [6, 2, 1]]) //collection of engine presets
|
||
pause | Pause animation. |
rainyDay.pause()
|
||
resume | Resume animation. |
rainyDay.resume()
|
||
destroy | Destroys the rain engine |
rainyDay.destroy()
|
We're looking for fresh ideas, patches that might improve code quality and performance. Found an issue with the script or have a feature request? Submit a ticket!
Forked from: RainyDay.js All credits to the orignal author: @maroslaw