实现油门转盘的功能
来源:互联网 发布:淘宝举报网址 编辑:程序博客网 时间:2024/05/17 06:59
只是一个模仿,并没有很细致的去标表盘的数值啥的
使用svg中的path标签先画两个大弧形,代码如下,一个作为表盘,一个作为指针
<svg width="500" height="500" viewBox = '0 0 500 500'>
<path d="M 200 300 A 100 100 0 1 1 300 300" class="bac"></path>
<path d="M 200 300 A 100 100 0 1 1 300 300" class="fro"></path>
</svg>
这两个弧形是完全重合的,我们赋予他们不同的颜色。但是我们要做到的是,给定一个百分比的值,让第二个圆弧能像仪表盘指针那样转动起来,覆盖掉表盘
然后我们想让fro动起来的话,需要两个参数,stroke-dasharry和stroke-dashoffset;
一开始我们的指针在0的位置,那么需要我们将指针隐藏起来
先用getTotalLength()获取到圆弧的长度,然后我们将这个长度值赋给stroke-dasharry 和 stroke-dashoffset, 此时指针所在位置为0
然后我们用input标签做一个输入框,在输入框中输入参数,可以让指针转动整个仪表盘的百分比
一开始我的想法是在js中动态的新建一个path标签,并动态的画弧,但是因为取点的问题导致画的弧覆盖的不是非常精确,后来的做法就是画一个一模一样的弧,然后先藏起来,再慢慢展现
这里需要一个动态效果,用到css3中animation
在js中向style标签中动态插入innerHTML
keyframes.innerHTML = '@keyframes move{from{stroke-dashoffset:' + fro.style.strokeDashoffset +';}to{stroke-dashoffset: ' + (len - a) +'px;}}.fro{stroke: #f00;animation: move1s ease;animation-iteration-count: 1;animation-fill-mode: forwards;}';
但是这个只能第一次有动态效果,找了半天也没找到有什么毛病,后来试着在开始之前先把style标签中的元素清空,然后就可以了
- 实现油门转盘的功能
- 转盘功能的详细实现
- libgdx 实现转盘功能
- Unity 转盘的实现
- 拉线油门和电子油门的比较
- 油门
- Android转盘菜单的实现
- 抽奖转盘的jquery实现
- 实现转盘抽奖的SurfaceViewDemo
- Android 抽奖转盘的实现
- Android简单转盘的实现
- Android抽奖转盘的实现
- jquery实现转盘抽奖--基于奖品转动的转盘
- openLaszlo转盘式菜单的实现
- ios 抽奖大转盘的实现
- android 代码绘制转盘抽奖的实现
- 实现可点击的幸运大转盘
- Android——抽奖转盘的实现
- package "xserver" not found
- 四则
- PERL算法-加入子程序的堆排序
- [c++基础] 函数参数传递,数组
- LeetCode-2. Add Two Numbers
- 实现油门转盘的功能
- Apriori算法学习笔记(一)
- 单链表学习
- React Native 问题小结
- 4大技能助你成为Linux专家
- java实现解压缩zip文件_01
- C语言版贪吃蛇:第一部分
- Lucene整理
- open、write、read函数