• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    AJAX 进度条实现代码
    效果如下:

    复制代码 代码如下:

    !DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    html>
    head>
    title>Ajax Progress Bar/title>
    script type="text/javascript">
    var xmlHttp;
    var key;
    var bar_color = 'gray';//进度条的颜色
    var span_id = "block";
    var clear = "nbsp;nbsp;nbsp;";
    function createXMLHttpRequest()//创建XMLHttpRequest对象
    {
    if(window.ActiveXObject)
    {
    xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
    }
    else if(window.XMLHttpRequest)
    {
    xmlHttp = new XMLHttpRequest();
    }
    }
    function go()
    {
    createXMLHttpRequest();//创建XMLHttpRequest对象
    checkDiv();//显示滚动条
    xmlHttp.onreadystatechange = callBack;//设置回调函数
    var url = "/AjaxDemo/servlet/ProgressBarServlet?task=create";//请求的地址
    var button = document.getElementById("go");
    button.disabled = true;//设置按钮不可用
    xmlHttp.open("get",url,true);//打开对服务器的连接
    xmlHttp.send();//发送请求
    }
    function callBack()
    {
    if(xmlHttp.readyState == 4)
    {
    if(xmlHttp.status == 200)
    {
    setTimeout("pollServer()",500);//定时调用
    }
    }
    }
    function pollServer()
    {
    createXMLHttpRequest();
    var url="/AjaxDemo/servlet/ProgressBarServlet?task=pollkey="+key;
    xmlHttp.onreadystatechange = pollCallBack;
    xmlHttp.open("GET",url,true);
    xmlHttp.send();
    }
    function pollCallBack()
    {
    if(xmlHttp.readyState == 4)
    {
    if(xmlHttp.status == 200)
    {
    var percent_complete = xmlHttp.responseXML.getElementsByTagName("percent")[0]
    .firstChild.data;//从服务器端获得响应信息
    var index = processResult(percent_complete);
    for(var i = 1; i=index; i++)
    {
    var elem = document.getElementById("block"+i);
    elem.innerHTML = clear;
    elem.style.backgroundColor = bar_color;
    var next_cell = i+1;
    if(next_cell > index next_cell = 9)
    {
    document.getElementById("block"+next_cell).innerHTML = percent_complete + "%";
    }
    }
    if(index 9 )
    {
    setTimeout("pollServer()",500);
    }
    else
    {
    document.getElementById("complete").innerHTML = "Complete!";
    document.getElementById("go").disabled = false;
    }
    }
    }
    }
    function processResult(percent_complete)
    {
    var ind;
    if(percent_complete.length == 1)
    {
    ind = 1;
    }
    else if(percent_complete.length == 2)
    {
    ind = percent_complete.substring(0,1);
    }
    else
    {
    ind = 9;
    }
    return ind;
    }
    function checkDiv()
    {
    var progress_bar = document.getElementById("progressBar");
    if(progress_bar.style.visibility == "visible")
    {
    clearBar();
    document.getElementById("complete").innerHTML = "";
    }
    else
    {
    progress_bar.style.visibility = "visible";
    }
    }
    function clearBar()
    {
    for(var i =1; i10; i++)
    {
    var elem = document.getElementById("block"+i);
    elem.innerHTML = clear;
    elem.style.backgroundColor = "white";
    }
    }
    /script>
    /head>
    body>
    h1>Ajax Progress Bar Example/h1>
    Launch long-running process:
    input type="button" value="Launch" id="go" onclick="go()"/>
    p>
    table align="center">
    tbody>
    tr>
    td>
    div id="progressBar" style="padding:2px;border:solid black 2px;visibility:hidden">
    span id="block1">nbsp;nbsp;nbsp;/span>
    span id="block2">nbsp;nbsp;nbsp;/span>
    span id="block3">nbsp;nbsp;nbsp;/span>
    span id="block4">nbsp;nbsp;nbsp;/span>
    span id="block5">nbsp;nbsp;nbsp;/span>
    span id="block6">nbsp;nbsp;nbsp;/span>
    span id="block7">nbsp;nbsp;nbsp;/span>
    span id="block8">nbsp;nbsp;nbsp;/span>
    span id="block9">nbsp;nbsp;nbsp;/span>
    /div>
    /td>
    /tr>
    tr>td align="center" id="complete">/td>/tr>
    /tbody>
    /table>
    /body>
    /html>

    复制代码 代码如下:

    package cn.Ajax.test;
    import java.io.IOException;
    import java.io.PrintWriter;
    import javax.servlet.ServletException;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    @SuppressWarnings("serial")
    public class ProgressBarServlet extends HttpServlet {
    private int counter = 1;
    /**
    * The doGet method of the servlet. br>
    *
    * This method is called when a form has its tag value method equals to get.
    *
    * @param request the request send by the client to the server
    * @param response the response send by the server to the client
    * @throws ServletException if an error occurred
    * @throws IOException if an error occurred
    */
    public void doGet(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException {
    String task = request.getParameter("task");
    String res="";
    if(task.equals("create")){
    res = "key>1/key>";
    counter = 1;
    }
    else{
    String percent = "";
    switch (counter) {
    case 1: percent = "10";break;
    case 2: percent = "23";break;
    case 3: percent = "35";break;
    case 4: percent = "51";break;
    case 5: percent = "64";break;
    case 6: percent = "73";break;
    case 7: percent = "89";break;
    case 8: percent = "100";break;
    }
    counter++;
    res ="percent>"+percent+"/percent>";
    }
    PrintWriter out = response.getWriter();
    response.setContentType("text/xml");
    response.setHeader("Cache-Control", "no-cache");
    out.println("response>");
    out.println(res);
    out.println("/response>");
    out.close();
    }
    /**
    * The doPost method of the servlet. br>
    *
    * This method is called when a form has its tag value method equals to post.
    *
    * @param request the request send by the client to the server
    * @param response the response send by the server to the client
    * @throws ServletException if an error occurred
    * @throws IOException if an error occurred
    */
    public void doPost(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException {
    doGet(request, response);
    }
    }
    您可能感兴趣的文章:
    • HTML5 Ajax文件上传进度条如何显示
    • php ajax实现文件上传进度条
    • 基于HTML5 Ajax实现文件上传并显示进度条
    • js HTML5 Ajax实现文件上传进度条功能
    • PHP+apc+ajax实现的ajax_upload上传进度条代码
    • 基于HTML5 Ajax文件上传进度条如何实现(jquery版本)
    • js ajax加载时的进度条代码
    • ajax 异步上传带进度条视频并提取缩略图
    • 基于ajax实现文件上传并显示进度条
    • php+ajax实现带进度条的大数据排队导出思路以及源码
    • ajax提交加载进度条示例代码
    • ajax+php打造进度条代码[readyState各状态说明]
    • ajax+php打造进度条 readyState各状态
    • 使用AJAX实现Web页面进度条的实例分享
    上一篇:Ajax 核心框架函数及例子
    下一篇:一款经典的ajax登录页面 后台asp.net
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    AJAX 进度条实现代码 AJAX,进度,条,实现,代码,