ratePoint 是一个 jQuery 插件,它利用 JavaScript 和 SVG 生成动画和可自定义的圆圈,用于表示百分比值和任意数字。
也可以看看:
- JavaScript 和 CSS 中的 10 个最佳进度条(线性)组件 
- 10 个最佳圆形/径向进度条 JavaScript 插件 
- Vue.js 应用程序的 10 个最佳进度条组件 
- 10 个最好的 JavaScript 和 CSS 进度条组件 
如何使用它:
1. 在文档中插入 jQuery 库和 ratePoint.js 插件。
<link rel="stylesheet" href="/path/to/css/radial-themes.css" />
<script src="/path/to/cdn/jquery.min.js"></script>
<script src="/path/to/js/ratePoint.js"></script>2. 初始化插件。
autoRatePoint();3. 为径向条创建一个 SVG 元素并通过以下数据属性配置插件:
- 数据功能:必需 
- 数据开始:起始值 
- 数据结束:结束值 
- 数据标记:自定义标记 
- 数据单位:自定义单位 
- 数据时间:动画的持续时间 
- 数据标签:自定义标签 
- 数据角度:起始角度 
- data-split:拆分布局 
- 数据镜像: “x”、“y”、“x,y”或“y,x” 
- data-bkpoints:断点 
- data-bkclass:对应的CSS类 
- data-bkcolors:对应的颜色 
- 数据运行:页面加载时自动运行 
<svg id="animated" class='' data-toggle="class" viewbox="0 0 100 100 " xmlns="http://www.w3.org/2000/svg ">
  <circle class='no-fil' cx="50 " cy="50 " r="45 "/>
  <item data-func="prodata"
        data-start="0 "
        data-end="75 "
        data-mark="100 "
        data-unit='%'
        data-time="7000 "
        data-label="<span class='<a href="https://www.jqueryscript.net/tags.php?/grid/">grid</a>-center font8 font-all'>AutoMeter</span>"
        data-angle="0"
        data-mirror="x"
        data-bkpoints="0 20 50 70 100" 
        data-bkclass="low normal medium high complete"
        data-run="auto">
      </item>
  <path id="1" class="bar6 cap-round" data-func="progressbar" stroke-linecap="round" stroke-dasharray="0,251.36264038085938" stroke-width="1" d="M50 10 a 30 30 0 0 1 0 80 a 30 30 0 0 1 0 -80">
  </path>
  <foreignObject data-func="protext" x="20" y="20" height="60%" width="60%" text-anchor="middle" dy="7" class="text-center"></foreignObject>
</svg>4. 这个例子展示了如何自动更新径向条。
let datas = [10, 50, 30, 70, 45, 10];
    i = 0;
    instance = 0;
    elem = "#1"
    setInterval(function() {
        let path = $(elem).find("path"),
            prodata = $(elem).find("[data-func='prodata']");
        //dataStart = (dataStart / dataMark) * 100;
        dataStart = path.attr('data-point') ? $(elem).find("path").attr('data-point') : 0;
        dataMark = prodata.attr('data-mark');
        dataStop = datas[i];
        prodata.attr({
            "data-start": dataStart,
            "data-end": dataStop
        });
        console.log(dataStart)
        setTimeout(function() {
            autoRatePoint("#1")
        }, 200);
        if (i == datas.length) {
            i = 0;
            instance = 0;
        }
        i++;
        instance = 1;
}, 10000) 
                                         
                   
                 
            
 
                        

发表评论
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。