Ajax进度条

使用:Easy Mock创建api接口

 

注意:若弹出该invalid or unexpected token错误提示信息,说明编写的数据格式有问题,修改为正确格式即可创建成。随后可以在postman中进行验证:

ajax通过GET方法获取数据:

根据获取出来得阶段数据来更改相对应得进度:

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <link rel="stylesheet" href="2.css">
    <script src="2.js"></script>
    <script src="jquery.min.js"></script>
</head>

<body>
    <div class="box">
        <div class="pr1">
            <span class="circle">1</span>
            <span class="line"></span>
            <span class="cont1">科研人员申报</span>
        </div>
        <div class="pr1">
            <span class="circle">2</span>
            <span class="line"></span>
            <span class="cont2">院系申报</span>
        </div>
        <div class="pr1">
            <span class="circle">3</span>
            <span class="line"></span>
            <span class="cont2">专家评审</span>
        </div>
        <div class="pr1_last">
            <span class="circle">4</span>
            <span class="cont2">校级审核</span>
        </div>
    </div>

</body>

</html>

window.onload = function() {
    $(function() {
        function fn1() { //1未开始

        }

        function fn2() { //2申报中
            $('.cont1').css('color', 'skyblue')
            $('.circle').eq(0).css('background-color', 'skyblue')
        }

        function fn3() { //3院系审核中
            $('.line').eq(0).css('border-color', 'green')
            $('.line').eq(0).css('border-style', 'solid')
            $('.circle').eq(0).html('√')
            $('.circle').eq(0).css('background-color', 'green')
            $('.cont1').css('color', 'green')
            $('.circle').eq(1).css('background-color', 'skyblue')
            $('.cont2').eq(0).css('color', 'skyblue')
        }

        function fn4() { //4专家审核中
            fn3()
            $('.circle').eq(1).html('√')
            $('.cont2').eq(0).css('color', 'green')
            $('.circle').eq(1).css('background-color', 'green')
            $('.line').eq(1).css('border-color', 'green')
            $('.line').eq(1).css('border-style', 'solid')
            $('.circle').eq(2).css('background-color', 'skyblue')
            $('.cont2').eq(1).css('color', 'skyblue')
        }

        function fn5() { //5校级审核中

            fn4()
            $('.circle').eq(2).html('√')
            $('.cont2').eq(1).css('color', 'green')
            $('.circle').eq(2).css('background-color', 'green')
            $('.line').eq(2).css('border-color', 'green')
            $('.line').eq(2).css('border-style', 'solid')
            $('.circle').eq(3).css('background-color', 'skyblue')
            $('.cont2').eq(2).css('color', 'skyblue')
        }

        function fn6() {
            //6已结束
            fn5()
            $('.circle').eq(3).html('√')
            $('.circle').eq(3).css('background-color', 'green')
            $('.cont2').eq(2).css('color', 'green')

        }
        var b
            //使用ajax获取api中得数据,看是那个阶段
        function fn() {
            $.ajax({
                type: 'GET',
                url: 'https://mock.mengxuegu.com/mock/624d8ce9f56fd246b02bfcaf/process/getinfo',
                success: function(res) {
                    console.log(res.BatchState);
                    b = res.BatchState;
                    //利用b数据去改变状态//1未开始,2申报中,3院系审核中,4专家审核中,5校级审核中,6已结束
                    if (b == 1) {
                        fn1()
                    }
                    if (b == 2) {
                        fn2()
                    }
                    if (b == 3) {
                        fn3()
                    }
                    if (b == 4) {
                        fn4()
                    }
                    if (b == 5) {
                        fn5()
                    }
                    if (b == 6) {
                        fn6()
                    }
                }
            })
        }


        //将文本框中的内容通过ajax传递给api,修改阶段
        $('button').on('click', function() {
            var a = $('input').val().trim()
            let params = {
                BatchState: a,
                DelareCount: 0,
                PermitCount: 3,
                StateSituation: [{
                    Stage: 1,
                    TotalCount: 1,
                    AuditCount: 1
                }]
            }
            params = JSON.stringify(params)
            $.ajax({
                url: "https://mock.mengxuegu.com/mock/624d8ce9f56fd246b02bfcaf/process/addinfo",
                type: "POST",
                data: params,
                contentType: "application/json",
                success: function(params) { console.log(params); }
            });
            fn()
        })
        fn()
    })
}
* {
    margin: 0px;
    padding: 0px;
}

.box {
    width: 305px;
    height: 40px;
    margin: 20px auto;
    line-height: 40px;
}

.circle {
    position: absolute;
    top: 10px;
    left: 0px;
    display: inline-block;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    -moz-border-radius: 50%;
    -webkit-border-radius: 50%;
    background-color: grey;
    line-height: 20px;
    text-align: center;
    color: white
}

.line {
    position: absolute;
    top: 20px;
    left: 19px;
    display: inline-block;
    width: 70px;
    height: 0px;
    border-top: grey 1px;
    margin: 0px;
    border-top-style: dotted
}

.pr1 {
    float: left;
    width: 90px;
    height: 40px;
    position: relative;
    text-align: center;
}

.pr1_last {
    float: left;
    width: 35px;
    height: 40px;
    position: relative;
    text-align: center;
}

.cont1 {
    position: absolute;
    top: 18px;
    left: -20px;
    font-size: 10px;
    color: grey
}

.cont2 {
    position: absolute;
    top: 18px;
    left: -10px;
    font-size: 10px;
    color: grey
}

对传递的参数进行序列化: params = JSON.stringify(params)

 mock里面的数据是写死了的,

更改都无法实现 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一夕ξ

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值