Fork me on GitHub

spin.js

spin.js (ESM) spin.umd.js spin.css

Example
















Features

Spin.js dynamically creates spinning activity indicators that can be used as a resolution-independent replacement for loading GIFs.

Installation

Run npm install spin.js, or save the spin.js and spin.css files in your repository.

JS bundling

For best performance and compatibility, it is recommended to use a module bundler such as Parcel, Rollup, or Webpack to create a production-ready code bundle. However, in modern browsers it is also possible to directly load the module via a script tag:

<script type="module" src="node_modules/spin.js/spin.js"></script>

If for some reason you can't use ECMAScript modules or a module bundler, download spin.umd.js and save it in your repository. The UMD script can be used as follows:

var spinner = new Spin.Spinner(opts).spin(target);

Note that the UMD version is only available as a temporary workaround. Longer term it is recommended to migrate to the standard ECMAScript module.

CSS

Load the spin.css file to include the default animation presets. You could alternatively create a custom CSS keyframe animation (in your own CSS file) and set it using the animation property.

Note: do not use <script> or <link> tags directly referencing the files on this website. Doing this is likely to break your app whenever a major new version is released.

Usage

Run the following code when the document has loaded:


The spin() method creates the necessary HTML elements and starts the animation. If a target element is passed as argument, the spinner is added as first child and horizontally and vertically centered.

Manual insertion

In order to manually insert the spinner into the DOM you can invoke the spin() method without any arguments and use the el property to access the HTML element:

var spinner = new Spinner().spin();
target.appendChild(spinner.el);

Hiding the spinner

To hide the spinner, invoke the stop() method, which removes the UI elements from the DOM and stops the animation. Stopped spinners may be reused by calling spin() again.

Positioning

The spinner is absolutely positioned at 50% of its offset parent. You may specify a top and left option to position the spinner manually.

Note: The spinner element is a 0×0 pixel div that represents the center of the spinner. Hence, if you passed {top:0, left:0} only the lower right quarter of the spinner would be inside the target's bounding box.

The spinner element must be surrounded by an element using relative positioning, or the spinner will be outside of the parent element.

Supported browsers

Spin.js has been successfully tested in the following browsers:

Changes

See CHANGELOG.md

Support

If you encounter any problems, please use the GitHub issue tracker.

Authors

Felix Gnass

JS ?? React ?? NodeJS ??

Twitter: @fgnass

Theodore Brown

PHP ?? TypeScript ?? SQL ??

Website: theodorejb.me
Twitter: @theodorejb

一级黄色录像影片 夫妻性生活影片 免费在线观看 视频无限看在线 2019天天色,天天操,天天干,天天射,天天好逼网,天天色综合网 欧美日韩在线无码-日本无码高清中文字幕视频-亚洲av毛片免费 亚洲 欧美 国产 综合-aV欧美国产在线-久久国产自偷拍-超碰98人人插 免费多人疯狂做人爱视频_美国多人做人爱的视频_香蕉人多人在线 日本高清视频免费v,日本一大免费高清,日本最新免费一区 多人做人爱完整版视频_多人做人爱的视频播放_日本强奷在线播放 大香蕉久久网,高清美女视频草久久爱久久 青青青草视频 国产系列 在线播放免费成人视频-啪啪啪视频大全_成av人电影在线观看 人人爽人人爽人人片av 亚洲视频人人模一起一起谢 久人啪久人啪 天天日天天拍天天射,天天干天天爱,我操综合,天天操天天干天天色 天天看高清影视_男女做爰高清免费视频_天天看高清影视在线 亚洲香蕉视频在线播放 大香蕉最新视频在线观看最新地址 男人的天堂在线视频av_欧美阿v天堂视频在99线-最新av亚洲天堂2017 在线天天看片视频免费观看美女网站黄频色佬亚洲色,视频人人超 人人澡超碰碰中文字幕|97人人模人人爽人人喊|日日摸天天摸人人看 老鸭窝唐朝_天天干_天天操_天天射_天天好逼网_天天色综合网 超级97碰碰车公开视,视频精彩视频类拟,伊在人线香蕉观新在线 得得的爱免费视频观看,色拍拍拍免费视频在线,久久草色播 日本三级_香港三级_韩国电影三级大全2017_黃色带三级_三级片 国产aⅴ在线高清观看_日本毛片高清免费视频_一本道亚洲区免费观看 日本三级_香港三级_韩国电影三级大全2017_黃色带三级_三级片 狼人香蕉香蕉在线 超级97碰碰车公开视频97超pen个人视频公开视频 久爱午夜视频大色蕉在线播放2019年92午夜视频福利手机在线黄色网站 草久久爱久久 青青草视频 久草草在线新免费观看 青青青草免费观看 人人插人人艹免费视频,国人综干合综网,国产姐妹在线第1页 日本高清视频在线网站_日本无码高清中文视频_亚洲AV无码在线播放 va视频久久,网址你懂得,久草在线福利资源,x156免费BDSM大地资源 国产a在线不卡 精品国产自在现线拍 国语自产一区第二页 五人社区男人的天堂爱草va视频久久久2019精品视频国产韩国黄大片 2019最新国产不卡a_午夜电影街_国产a在线不卡_特级a欧美做爰片 天天看高清久视频,天天看综合天天看,天天看高清在线播放 av无码波多野结衣在线看,一本道不卡,亚洲美国成年性色生活片 大香蕉久久网,高清美女视频草久久爱久久 青青青草视频 国产系列 一本道高无码字幕在线,国产亚洲视频中文字幕,一本道香蕉线旡码视频 一级毛卡片现场,一级毛卡片不收费,一级做人爱c视频三分钟试看欧美 免费国产久久啪久久爱每天第一时间更新最新aV视频、宅男在线视频 人人操_人人碰_人人碰免费视频_人人摸_人人看_超碰在线 超级97碰碰车公开视,视频精彩视频类拟,伊在人线香蕉观新在线 日本一本道综合久久av,久久日本高清一本道,一本道久在线综合久久 va视频久久,网址你懂得,久草在线福利资源,x156免费BDSM大地资源 日本一大免费高清_日本一本免费一二三区_日本一大免费高清2019 国产aⅴ在线高清观看_日本毛片高清免费视频_一本道亚洲区免费观看 最新国产对话露脸高清视频,露脸国语对白视频,国语露脸自拍对白视频 亚洲va在线va天堂va中国人做人爱免费视须一本不卡中文字幕 亚洲va中文字幕欧美va,色情五月亚洲中文字幕,中文字幕日本无吗 2018亚洲高清在线自拍视频,欧美一级a视频勉费放,天天做黄色站 草久久爱久久久久er热在这里只有精品66伦理片视频在线久久爱视频 2019高清无码,噜噜噜手机在线版,疯狂抽插正在播放,在线观看 日本激清床吻戏脱戏视频大全-高清视频-日本高清-日本高清视频 2019国拍自产在线 2019在线夜逍遥社电影在线看成熟浮力影院线路 2018隔壁老王在线观看 混沌理论电影高清在线观看 在线播放一区 2019国拍自产在线,国拍自产亚洲,国产a在线不卡 国产自产最新 成年女人喷潮免费视频午夜电影T∨日本AⅤ天堂操逼在线观看 泡泡影院最新深夜宅男,yy4080首播影院免费手机在线观看 超级97碰碰车公开视,视频精彩视频类拟,伊在人线香蕉观新在线 自产在线中文字幕免费视频不卡波多野结衣在线视频亚洲高清有码 日本强奷在线播放,边吸奶边扎下面很爽,男女真人啪啦啪动态图 亚洲欧洲自拍拍偷 亚洲自偷自偷图片 网友自拍 偷拍 校园 日本一本道a不卡免费,在线高清免费不卡无码,在线播放免费 老鸭窝综合久久绝对极品女鲍10p天堂网av先锋影院,天天夜日日 依人在线免费4438x亚洲视频最新免费大香视频依人在线免费香港三级 在线高清免费不卡无码,欧美av在线观看,波多野结衣丝袜AV在线观看 亚洲欧美国产综合av|亚洲va在线va天堂va免费啪视频观试看视频 VA视频中文字幕亂倫免賛視頻AV每日更新在线观看大香蕉伊人在线 国产啪视频在线播放观看_一本到美国视频在线观看_亚洲阿v天堂 天天色,天天干,天天操,天天射,天天好逼网,天天色综合网 亚洲日本VA|久久爱|久久爱在线|久久成人视频|久久爱在线播放视频 2019国拍自产在线,国拍自产亚洲,国产a在线不卡 国产自产最新 夜狼在线视频,尽在好屌逼精品视频,免费福利资源天天更新 日本激清床吻戏脱戏视频大全-高清视频-日本高清-日本高清视频 操逼网站夜夜干干伊人9在线观看免费观看1自拍超碰caoporn 草久久爱久久 青青草视频 久草草在线新免费观看 青青青草网站 天天日天天拍天天射,天天干天天爱,我操综合,天天操天天干天天色 国产自拍,自拍偷拍,国产精品,情侣自拍视频,夫妻自拍视频,网友自拍 在线观看亚洲中文无码永久免费,日本三级a视频大香视频依人在线免费 美国A片2018在线a v中文字幕白白色在线视频久久爱加勒比 天天干妹妹,k频道宅男影院,琪琪色原网站20岁,六度电影院最新 日本一大免费高清_日本一本免费一二三区_日本一大免费高清2019 美国一级特a黄,欧美一级aa无码大片,特黄的欧美大片,欧美一级片 伊人热在线黄色狠狠ku,吹潮喷水在线播放,免费的黄网站网址大全 国产a在线不卡片 高清国产在线直播 2019国产在线不卡俞拍 va亚洲va天堂va视频在线国产亚洲视频中文字幕野狼醉春楼福利视频 每日最新亚洲在线_一级毛卡片不收费的_久久爱只有精品视频 老鸭窝唐朝AV青春草在线观看公开视频。自拍视频,啪一啪射一射 好看Av亚洲va欧美Ⅴa在线,亞洲Av 歐美a V 日本A V,情色A v 2019国拍自产在线 2019在线夜逍遥社电影在线看成熟浮力影院线路 2019国拍自产在线国产久久爱在线看线看擼擼综合色_欧美色图片 欧美日韩在线无码-日本无码高清中文字幕视频-亚洲av毛片免费