当前位置: 首页 > news >正文

做窗帘网站山东网站seo

做窗帘网站,山东网站seo,上海网站建设seodian,野花日本韩国免费观看7能用现成组件就用,实现不行再自己写,因为牵扯到上传文件,进度实时出不来,所以只能使用dom元素操作; 1.实现 效果: 上图是100%,如果需要根据百分比显示,我们需要看下代码里面left和…

能用现成组件就用,实现不行再自己写,因为牵扯到上传文件,进度实时出不来,所以只能使用dom元素操作;

1.实现

效果:

上图是100%,如果需要根据百分比显示,我们需要看下代码里面left和right的旋转角度,这个圆实现上,以垂直直径切割,是左右两部分,调整css transform即可。

代码如下:

html

percentHtml.innerHTML = `<div class="progress"><span class="title"></span><div class="overlay"></div><div class="left" style="transform: rotate(${get_deg(percenNum)?.left_deg}deg);z-index: ${get_deg(percenNum)?.zIndex_left};"></div><div class="right" style="transform: rotate(${get_deg(percenNum)?.right_deg}deg);"></div></div>`

css

* {box-sizing: border-box;padding: 0;margin: 0;}.progress {width: 20px;height: 20px;color: #fff;border-radius: 50%;overflow: hidden;position: relative;background: #dcdcdc;text-align: center;line-height: 200px;box-shadow: 2px 2px 2px 2px white;mask: radial-gradient(transparent 7px, #000 8px);-webkit-mask: radial-gradient(transparent 7px, #000 8px)}.progress .overlay {width: 50%;height: 100%;position: absolute;top: 0;left: 0;z-index: 1;background-color: #dcdcdc;}.progress .left,.progress .right {width: 50%;height: 100%;position: absolute;top: 0;left: 0;border: 10px solid #29b6f6;border-radius: 100px 0px 0px 100px;border-right: 0;transform-origin: right;}

 2.原理及函数

可以用这个原理实现百分比:

1)0%,left为0deg(z-index为0,因为right在左边,所以需要index为0至在灰色下面),right为0deg;

2)当百分比小于50%且不为0的时候,左边不需要百分比:继续为0度,右边180度是50%,计算出1%是多少度:180 / 50% = 3.6度(度/1%),乘以百分比即可;

3)大于50%,right为180deg,left对应:100%是0deg,z-Index = 10,75%对应-90deg,以此为例,那么计算规律是,75% - 50% = 25%,25 * 3.6 = 90,因为left是逆时针计算,所以需要用180 - 90 = 90,再添加一个符号即可(数学上直接减180结果一样),就是-90deg。

4)100%,left为0deg(z-index=10,覆盖左侧overlay),right为180deg;

如下函数:

const get_deg = (percent: number) => {let left_deg=0, right_deg=0, zIndex_left = 0;const one_percent_deg = 180 / 50; // (3.6度/1%)if (percent) {if (percent <=50 && percent > 0) {console.log('小于50大于0');left_deg = 0;right_deg = percent * one_percent_deg;} else if (percent > 50 && percent < 100) {console.log('50到100');left_deg = (percent - 50) * one_percent_deg - 180;zIndex_left = 10;right_deg = 180;} else if (percent === 100) {console.log('等于100');left_deg = 0;zIndex_left = 10;right_deg = 180;}}return {left_deg,right_deg,zIndex_left} 
}

特别注意一点,在 左侧半圆环,大于50%的时候,需要给左侧添加z-index=100,因为:其实他们左右的颜色大小都是不变的,只是在旋转,给我们视觉上的效果,就像是百分比一样。

我们给左侧限制了-180度的最小值,就是不让他旋转到右侧,而右侧0度的最小限制也是一个意思。

在大于50%的时候右侧为180度,我们看如果75%的时候,也是就左侧25%,且设置右侧小于180度会发生什么:

这里设置的左侧旋转-90度,右侧为80度,我们清晰的看到左侧的环形会来到右侧,中间会有缝隙,当然我们大于50%的时候,右侧会占满,同时使用z-index灵活去遮挡,就给我们视觉上看到正确的百分比,这里需要理解并实践。

注:代码参考自网络,有改变,仅做记录、参考使用

http://www.tj-hxxt.cn/news/100831.html

相关文章:

  • 手车做网课网站艺术培训学校招生方案
  • html5网站首页代码seo在线优化
  • 用户体验最好的网站我赢网客服系统
  • 做外贸 建网站要注意什么疫情最新动态
  • 知名草根博客 卢松松网站被攻击直通车关键词优化
  • 郑州专业的网站建设公司长春seo技术
  • wordpress忘记密码邮件收不到网站是怎么优化的
  • 天河建设网站技术写手代写平台
  • 企业网站建设cms网络营销模式有哪些?
  • 网络销售怎么做网站seo关键词查询排名软件
  • 网站维护需要福州百度关键词优化
  • 泉州专业做网站免费引流推广
  • 网页游戏平台返利seo单词优化
  • 有域名后怎么建网站百度推广账户优化方案
  • app营销网站模板手机百度推广怎么打广告
  • 流量宝做网站流量怎么做好网络营销
  • 注册网站会员有风险吗seo自然搜索优化排名
  • 企业英文网站建设苏州seo怎么做
  • 开源网站推广重庆seo排名方法
  • 阿里云ecs 多个网站十句经典广告语
  • 学做饼干网站企业类网站有哪些例子
  • 企业网站建设绪论网页设计用什么软件做
  • 什么网站做ppt好台州关键词优化服务
  • 哈尔滨政府网站建设怎么开通百度推广账号
  • 太平洋保险网站做的这么烂营销咨询公司经营范围
  • wordpress下载地址插件seo引擎优化是做什么的
  • 广告网站模板下载 迅雷下载安装信息流广告投放平台
  • 网站内页权重怎么查济南seo优化公司助力排名
  • 福州网站设计哪里建站网络平台
  • golang网站开发教程广东网络seo推广公司