内容简介:Button/progress-bar with cloud synchronization animation in vanilla JavaScript, Vue.js and Web component formatsThis component is available in three versions:
Cloud Sync Button
Button/progress-bar with cloud synchronization animation in vanilla JavaScript, Vue.js and Web component formats
How to use
This component is available in three versions:
- Vue.js component - in the
src
directory - Vanilla JavaScript code - in the
vanilla-javascript-version
directory - As a
Web component
- in theweb-component-version
directory
Vanilla JavaScript version
The code is self-explanatory
Web Component version
It's built using Custom Elements - a well supported technology nowadays. For older browsers a polifill is available
<cloud-sync-button options='{ "loadColor": "#81d427", "strokeColor": "#fff", "btnColor": "#725fdf", "titleStart": "Sync", "titleEnd": "Done" }' />
const aBtn = document.querySelector("cloud-sync-button"); ... aBtn.initSync(); aBtn.updateSync(10); aBtn.completeSync(); aBtn.resetSync();
Vue version
Vue component consists of one CloudSyncButton.vue
file that can be copy-pasted into your Vue.js project or can be plugged in as an NPM package:
npm install @vuesence/cloud-sync-button --save
Then you can use it in the your Vue code:
<template> <div id="app"> <CloudSyncButton title="Sync" titleDone="Done" @click.native="startSync" :syncProgress="syncProgress" :inSync="inSync" :styling="{ loadColor: '#81d427', strokeColor: '#fff', btnColor: '#011e4a' }" /> </div> </template> <script> import CloudSyncButton from "@vuesence/cloud-sync-button"; export default { name: "App", components: { CloudSyncButton, }, data() { return { syncProgress: 0, inSync: false, }; }, methods: { startSync() { this.syncProgress = 0; this.inSync = true; }, stopSync() { this.syncProgress = 0; this.inSync = false; }, completeSync() { this.syncProgress = 100; setTimeout(() => { this.stopSync(); }, 2000); }, }, }; </script>
Two reactive parameters handle the button state: inSync
- starts and stops the synchronization, and syncProgress
- shows the synchronization progress.
startSync
, stopSync
and completeSync
methods are used to manage the button representation programmatically.
For more details please see an example of usage in the App.vue
Demo
https://altrusl.github.io/vuesence-cloud-sync-button/
Playground
Try it on codesandbox.io
Check out my other Vue.js components
- Vuesence book - minimalistic Vue.js based documentation component
- Sliding header - Vue.js component representing sliding header (or two different headers)
- Modal Window - simple lightweight Modal Window Vue.js component
You like Cloud Sync Button? Star it and retweet it!
Troubleshooting
Any bugs, issues, feature and pull requests are welcome
Please use GitHub's issue reporter or send me an email
Contribution
Contribution is always welcome and recommended. Here is how:
- Fork the repository
- Clone to your machine
- Make your changes
- Create a pull request
License
@vuesence/cloud-sync-buttonpackage is freely distributable under the terms of the MIT license .
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
商业模式新生代
亚历山大•奥斯特瓦德 (Alexander Osterwalder)、伊夫•皮尼厄 (Yves Pigneur) / 王帅、毛心宇、严威 / 机械工业出版社 / 2011-8-15 / 88.00元
中文官网:http://www.bizmodel.org 内容简介:当你愉快的看完第一章:商业模式画布,赫然发现这些构成要素全 都交织成一幅清晰的图像在脑海中呈现,它们如何互相影响、如何交互作用全都历历在目。利用商业模式画布分析瑞士银行、Google、Lego、Wii 、Apple等跨国企业,归纳出三种不同的产业 模式,也涵括新近的热门现象免费效应及长尾理论等。在这些有趣的例子中,我们不仅更......一起来看看 《商业模式新生代》 这本书的介绍吧!