Ajax学习笔记(五)
来源:互联网 发布:天刀捏脸数据女 清纯 编辑:程序博客网 时间:2024/06/08 16:05
显示进度条的例子:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>显示进度条</title>
<script type="text/javascript">
var xmlHttp;
var barColor='red';
var clear=" ";
//gray
function createXMLHTTPRequest()
{
if(window.ActiveXObject)
{
xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
}
else if(window.XMLHttpRequest)
{
xmlHttp=new XMLHttpRequest();
}
}
function doStart()
{
var url="PostData?task=create&timeStamp="+(new Date()).getTime();
createXMLHTTPRequest();
checkDiv();
document.getElementById("go").disabled=true;
xmlHttp.open("GET",url,true);
xmlHttp.onreadystatechange=handleStateChange;
xmlHttp.send(null);
}
function handleStateChange()
{
if(xmlHttp.readyState==4)
{
if(xmlHttp.status==200)
{
setTimeout("startServer()",2000);
}
}
}
function startServer()
{
createXMLHTTPRequest();
var url="PostData?task=poll&timeStamp="+(new Date()).getTime();
xmlHttp.open("GET",url,true);
xmlHttp.onreadystatechange=pollCallBack;
xmlHttp.send(null);
}
function pollCallBack()
{
if(xmlHttp.readyState==4)
{
if(xmlHttp.status==200)
{
var percent_complete=xmlHttp.responseXML.getElementsByTagName("percent")[0].firstChild.nodeValue;
var _index=processResult(percent_complete);
for (var i=1;i<=_index; i++)
{
var temp=document.getElementById("block"+i);
temp.innerHTML=clear;
temp.style.backgroundColor=barColor;
//显示百分之多少
var next_cell=i+1;
if(next_cell>_index && next_cell<=9)
{
document.getElementById("block"+next_cell).innerHTML=percent_complete+"%";
}
}
if(_index<9)
{
setTimeout("startServer()",1000);
}
else
{
document.getElementById("complete").innerHTML="进度条显示完毕!";
document.getElementById("go").disabled=false;
}
}
}
}
function processResult(percent_complete)
{
switch(percent_complete.length)
{
case 1:return 1;break;
case 2:return percent_complete.substring(0,1); break;
default:return 9;break;
}
}
function checkDiv()
{
var bar=document.getElementById("progressBar");
if(bar.style.visibility=="visible")
{
clearBar();
document.getElementById("complete").innerHTML="";
}
else
{
bar.style.visibility="visible";
}
}
function clearBar()
{
var temp;
for(var i=1;i<10;++i)
{
temp=document.getElementById("block"+i);
temp.innerHTML=clear;
temp.style.backgroundColor="white";
}
}
</script>
</head>
<body>
<h1>进度条</h1>
<input type="button" value="开始" id="go" onclick="doStart();"/>
<table align="center">
<tbody>
<tr>
<td>
<div id="progressBar" style="padding:2px;border:solid black 2px;visibility:hidden">
<span id="block1"> </span>
<span id="block2"> </span>
<span id="block3"> </span>
<span id="block4"> </span>
<span id="block5"> </span>
<span id="block6"> </span>
<span id="block7"> </span>
<span id="block8"> </span>
<span id="block9"> </span>
</div>
</td>
</tr>
<tr><td align="center" id="complete"></td></tr>
</tbody>
</table>
</body>
</html>
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
import java.io.*;
import java.net.*;
import javax.servlet.*;
import java.util.Iterator;
import java.util.ArrayList;
import java.util.List;
import javax.servlet.http.*;
import java.text.SimpleDateFormat;
public class PostData extends HttpServlet
{
private int counter=1;
public void init()throws ServletException
{
}
protected void doGet(HttpServletRequest req,HttpServletResponse res)throws ServletException,IOException
{
doPost(req,res);
}
protected void doPost(HttpServletRequest req,HttpServletResponse res)throws ServletException,IOException
{
String task=req.getParameter("task");
if(task.equals("create"))
{
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.setContentType("text/xml");
res.setHeader("Cache-Control","no-cache");
res.getWriter().print("<response><percent>"+percent+"</percent></response>");
}
}
}
- Ajax学习笔记(五)
- ajax学习笔记---Ajax五步法
- AJAX学习笔记(五)_AJAX响应
- ajax,json学习笔记(五)总结
- ajax学习笔记之五 模拟google动态提示效果
- AJAX学习笔记:创建XMLHttpRequest对象的五步骤
- [持续更新]HTML5学习笔记(五)简单Ajax实现
- AJAX学习笔记:创建XMLHttpRequest对象的五步骤
- AJAX学习笔记(五)——JSON格式
- JSF学习五Ajax
- AJAX 学习笔记[五] AJAX 如何处理多个异步请求
- jQuery 笔记之五 ajax
- jQuery学习 五 jQuery Ajax
- ajax学习笔记---什么是Ajax
- [ajax 学习笔记] ajax初试
- Ajax学习笔记-Ajax数据格式
- AJAX学习笔记--慕课网Ajax
- vc++学习笔记(五)
- 网络命令全解(二)
- 输入法问题
- Ajax学习笔记(四)
- 经典对联
- 脑疲劳仅靠睡觉不解乏
- Ajax学习笔记(五)
- Ajax学习笔记(六)
- WinCE LCD Rotation
- 纵向查询显示小示例
- 工作日总结
- 38400¥的价值(6)
- 通过查询系统表得到纵向的表结构
- 接口的客户端测试代码
- AJAX在线英汉互译