confetti-js

Easily Generate random confetti for your above-the-fold content

  • 所有者: Agezao/confetti-js
  • 平台:
  • 許可證:
  • 分類:
  • 主題:
  • 喜歡:
    0
      比較:

Github星跟蹤圖

🎉 Confetti Generator 🎉

Easily Generate random confetti with javascript and make your design look cooler

Demo 🚀

Demo // Examples

Why?

Have you ever seen that cool looking confetti on landing pages and above-the-fold content? We give you the power to create the same effect for free and without the hassle of having to design or code it from scratch.

Installing/Using

📲 Downloading

  • Using npm

      npm install confetti-js --save
    
  • Direct download -> click here

➕ Add scripts

  • The classic way

    <script src="node_modules/confetti-js/dist/index.min.js"></script>
    
  • ES6 module

    // At the component you want to use confetti
    import ConfettiGenerator from "confetti-js";
    

🤔 How to use it?

After installing the plugin(the topic above), just call-it passing your options:

html

<canvas id="my-canvas"></canvas>

javascript

var confettiSettings = { target: 'my-canvas' };
var confetti = new ConfettiGenerator(confettiSettings);
confetti.render();

You can also pass a canvas element as the target:

var confettiElement = document.getElementById('my-canvas');
var confettiSettings = { target: confettiElement };
var confetti = new ConfettiGenerator(confettiSettings);
confetti.render();

React

React.useEffect(() => {
  const confettiSettings = { target: 'my-canvas' };
  const confetti = new ConfettiGenerator(confettiSettings);
  confetti.render();

  return () => confetti.clear();
}, []) // add the var dependencies or not

done!

Options, Attribute, Description, Example value, Default value, ---------------------------, -------------, --------------------, ---------, target, The Id tag or node of the canvas that will be used, 'my-canvas', 'confetti-holder', max, The number of props(confetti) to be rendered, 11, 80, size, Prop size, 1.8, 1, animate, If the confetti should fall, false, true, respawn, If the confetti should be recreated after going off-screen, false, true, clock, The speed confetti fall, 50, 25, props, The type of props(confetti) that should be rendered. In addition to those listed in the default, there's a special "svg" type which requires further configuration and is detailed below., ['circle', 'square'], ['circle', 'square', 'triangle', 'line'], colors, The color to be rendered on the confetti. By default, RGB format inside an array., [[0,0,0], [255,255,255]], [[165,104,246],[230,61,135],[0,199,228],[253,214,126]], start_from_edge, Whether the confettis should fall from the top of the screen (or should move up from the bottom), true, false, width, Canvas width, 960, window size, height, Canvas height, 767, window height, rotate, If set to true, SVG and squares will rotate while falling., true, false, ### Special SVG particle type

There is an extra special partical type ("prop") which allows you to render SVGs as confetti particles. For example:

{
  "props": [
    "circle",
    "square",
    { "type": "svg", "src": "site/hat.svg" }
  ]
}

You must specify the type and src properties. There are also a few other configuration properties available to SVG objects:, Attribute, Description, Example value, Default value, ---------------------------, -------------, --------------------, ---------, size, Set the size of the SVG when it renders as a particle., 25, 15, weight, The probability of this particle being rendered, where 1 is a regular weight, and 0.1 is uncommon., 0.5, 1, ## API
Using the object generated by new ConfettiGenerator() is pretty easy, there're just two main methods actually., Method, Description, ---------------------------, -------------, render, Render the confetti at the config <canvas/>, clear, Clear the <canvas/> where the confetti where rendered, ```javascript
var confetti = new ConfettiGenerator();
confetti.render();
//
confetti.clear();


## License
You can use/hack/re-distribute/do whatever you want with this for free without having to credit the author or anything. Go on, just do it.

_But if you take the time to contribute with the project it would be nice too, just saying :)_

## Thanks
Special thanks to _["Paper Matthew"](https://codepen.io/paper_matthew/pen/PNxrbK)_ on codepen for providing the starting point wich I fork to build this. You are awesome.

主要指標

概覽
名稱與所有者Agezao/confetti-js
主編程語言JavaScript
編程語言HTML (語言數: 3)
平台
許可證
所有者活动
創建於2017-10-25 13:10:19
推送於2023-10-18 14:43:20
最后一次提交2020-03-10 21:40:05
發布數12
最新版本名稱0.0.18 (發布於 )
第一版名稱0.0.7 (發布於 )
用户参与
星數613
關注者數5
派生數113
提交數71
已啟用問題?
問題數22
打開的問題數9
拉請求數7
打開的拉請求數8
關閉的拉請求數2
项目设置
已啟用Wiki?
已存檔?
是復刻?
已鎖定?
是鏡像?
是私有?