easypiechart通过AJAX获取Json数据,动态刷新

这是我寄几写来记录的,有需要的可以参考,如果有不对的地方欢迎指正 QAQ
我们的需求是,一进入页面为了保证加载快一点,先给定一个值,然后每三秒钟根据后台传来的json文件刷新数据,话不多说,上图。这是初始情况下的echart。

start

                <li>
                    <div id="pie_1" class="piechart"
                        data-percent="0">
                        <span class="percent"></span>
                    </div> <span class="title">连网状态 </span>
                </li>
                <li>
                    <div id="pie_2" class="piechart"
                        data-percent="0"> 
                        <span class="percent"></span>
                    </div> <span class="title">云服务</span>
                </li>
                <li>
                    <div id="pie_3" class="piechart"
                        data-percent="18"> 
                        <span class="percent"></span>
                    </div> <span class="title">远程运维</span>
                </li>
                <li>
                    <div id="pie_4" class="piechart" data-percent="85">
                        <span class="percent"></span>
                    </div> <span class="title">版本升级</span>
                </li>

以上是初始情况下的HTML。
下面上js。

var chart1;
var chart2;
var chart3;
var handleProfileSkillPie = function () {
    //Pie 1
    $('#pie_1').easyPieChart({
        easing: 'easeOutBounce',
        onStep: function(from, to, percent) {
            $(this.el).find('.percent').text(Math.round(percent)+"%");
        },
        lineWidth: 6,
        barColor: '#F0AD4E'
    });
     chart1 = window.chart = $('#pie_1').data('easyPieChart');
    //Pie 2
    $('#pie_2').easyPieChart({
        easing: 'easeOutBounce',
        onStep: function(from, to, percent) {
            $(this.el).find('.percent').text(Math.round(percent)+"%");
        },
        lineWidth: 6,
        barColor: '#D9534F'
    });
    chart2 = window.chart = $('#pie_2').data('easyPieChart'); 
    //Pie 3
    $('#pie_3').easyPieChart({
        easing: 'easeOutBounce',
        onStep: function(from, to, percent) {
            $(this.el).find('.percent').text(Math.round(percent)+"%");
        },
        lineWidth: 6,
        barColor: '#70AFC4'
    });
    chart3 = window.chart = $('#pie_3').data('easyPieChart'); 
}
     handleProfileSkillPie();

接下来是AJAX。

     function loadnumber(){
         var all;
         var num;
         var cloud;
         var control;
         $.ajax({
            url:'数据来源json文件的url',
            type:'get',
            dataTpye:'json',
            cache:false,
            async:true,
            success:function(data){
                    all=data.allCount;
                    var number=data.statusCount;
                    num=number.networkStatus;
                    cloud=number.cloudStatus;
                    control=number.controlStatus;                           
                    $('#pie_1').attr('data-percent',Math.round(num/all));
                    $('#pie_2').attr('data-percent',Math.round(cloud/all));
                    $('#pie_3').attr('data-percent',Math.round(control/all));           
                    $('#pie_1 .percent').text(Math.round(num/all)+"%");
                    $('#pie_2 .percent').text(Math.round(cloud/all)+"%");
                    $('#pie_3 .percent').text(Math.round(control/all)+"%");
                

         `//这里重画easypiechart `
                    
                    chart1.update(Math.round(num/all));
                    chart2.update(Math.round(cloud/all));
                    chart3.update(Math.round(control/all));
                    
                }   
         })
         }

         $(document).ready(function(){
              window.setInterval(loadnumber,3000);
            })

done

大功告成咯,真好玩,这是动态的局部刷新,我不会搞动图进来,so,就酱~

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 175,907评论 25 709
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,805评论 19 139
  • 文 / 秦未 我原来也接触过Ajax的开发,但始终没有系统的学习,今天正好有时间就在慕课网学习一下,也在这里分享自...
    煮茶忘放糖阅读 4,119评论 0 2
  • 背景 在没有ajax之前,前端与后台传数据都是靠表单传输,使用表单的方法传输数据有一个比较大的问题就是每次提交数据...
    我爱萨摩耶阅读 9,922评论 0 14
  • 周一: 在某区的派出法庭开庭,我代理原告,被告一未到庭,被告二到庭。被告二与被告二在向原告借款30万后的第二天在民...
    颖颖潜行阅读 1,666评论 0 0

友情链接更多精彩内容