怎样利用Ajax实现下面这个页面的效果?(应该很简单)

http://www.htky365.com/BillTrackPublic.aspx?barcode=0200001975974


上面这个物流公司的页面,“跟踪记录”那个栏目,鼠标移上去之后先会显示“读取中”,然后才读取并显示相应的数据,应该是Ajax的异步读取吧,请问怎样实现的呢?能否给出源代码呢?不胜感激!
最新回答
槐序廿柒

2024-11-02 05:17:14

如果我做的话,大概流程是这样:
鼠标移动上去,有一个onMouseOver事件,显示一个div层,同时调用AJAX方法,鼠标移开时有一个onMouseOut事件,隐藏div层,这里至于“鼠标移上去之后先会显示“读取中”,然后才读取并显示相应的数据”则只是一个比较简单的技巧:
var xmlhttp;
function createRequest(){
if(window.ActiveXObject){
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}else if(window.XMLHttpRequest){
xmlhttp=new XMLHttpRequest();
}
}

function dogetName(){
createRequest();
xmlhttp.onreadystatechange=getNameCall;
xmlhttp.open("GET","top.xml",true);
xmlhttp.send(null);
}

function getNameCall(){
if(xmlhttp.readyState==4){
if(xmlhttp.status==200||xmlhttp.status==0){
showTop();
}else{
alert(xmlhttp.status);
}
}else if(xmlhttp.readyState==1){
document.all("loadDiv").style.display=""; //注意这一行,loadDiv就是一个显示为'加载中的层',这里是从数据库中读取数据,通过 xmlhttp.readyState==1 判断
}
}

function showTop(){
document.all("loadDiv").style.display="none"; //注意这一行,隐藏显示加载状态的层,然后执行下面的操作,也就是把数据显示出来
var text= xmlhttp.responseText;
var xmldoc=xmlhttp.responseXML;
var t1=xmldoc.getElementsByTagName("top");
}

上面只是一个这个功能ajax的部分,要做到你看的那个功能,需要用到一些JS。如:设置层显示位置,切换层等等。。。

你如果是刚接触ajax,可以看一下<<ajax基础教程>>大概看到120页左右就可以明白了,然后JS需要熟悉配合使用。
山城夏秋

2024-11-02 07:14:32

不是恨简单吧,偶研究了好久还没搞懂
承诺算ィ麽

2024-11-02 10:16:16

这个问题很简单,给控件(包括指定区域)注册一个onMouseOver事件,在该事件中写一个调用后台的方法,把返回来的结果用JavaScript写在页面指定区域就可以了,像这中示例网上一堆,随便搜一下就可以了,我在这里就不写了
下面有一个我回答过的问题,在各种浏览器下都测试通过,你可以参考一下,和你说的问题差不多
有什么问题请加入QQq群:54111806