ajax弹出提示信息

本文介绍了一种使用AJAX技术实现实时工具提示的方法。通过鼠标悬停在不同链接上时,动态加载并显示商品的相关信息,如名称、价格及图片等。详细展示了HTML结构、JavaScript脚本、Servlet配置及XML数据返回过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

ajax弹出提示信息

1、 输入域:

<h2>工具提示</h2>

<hr>

<a href="#" onmouseover="over(0)" onmouseout="out()">物品一</a><br><br>

<a href="#" onmouseover="over(1)" onmouseout="out()">物品二</a><br><br>

<a href="#" onmouseover="over(2)" onmouseout="out()">物品三</a><br><br>

<div id="tip" style="position:absolute;display:none;border:1px;border-style:solid;">

<table id="tipTable" border="0" bgcolor="#ffffee">

<tr align="center">

<td><img id="photo" src="" height="80" width="80"></td>

</tr>

<tr>

<td></td>

</tr>

<tr>

<td></td>

</tr>

</table>

</div>

2、 JavaScript脚本:

<script type="text/javascript">

var xmlHttp;

var x, y; //记录事件发生时的鼠标位置

//创建XMLHttpRequest对象

function createXMLHttpRequest() {

if(window.ActiveXObject) {

xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");

} else if (window.XMLHttpRequest) {

xmlHttp = new XMLHttpReuqest();

}

}

//通过AJAX取得提示信息

function over(index) {

x = event.clientX;

y = event.clientY;

//创建XMLHttpRequest对象

createXMLHttpRequest();

//将状态触发器绑定到一个函数

xmlHttp.onreadystatechange = process;

//建立一个对服务器的调用

xmlHttp.open("GET", "CreateTip?index=" + index);

//发送请求

xmlHttp.send(null);

}

//处理从服务器返回的xml文档

function process() {

//定义一个变量用于存放从服务器返回的响应结果

var result;

if(xmlHttp.readyState == 4) { //如果响应完成

if(xmlHttp.status == 200) { //如果返回成功

//取出服务器返回的XML文档所有shop标签的子节点

result = xmlHttp.responseXML.getElementsByTagName("shop");

//显示工具条

document.all.tip.style.display = "block";

document.all.tip.style.top = y;

document.all.tip.style.left = x + 10;

document.all.photo.src = result[0].childNodes[2].firstChild.nodeValue;

document.all.tipTable.rows[1].cells[0].innerHTML="商品名称:"+result[0].childNodes[0].firstChild.nodeValue;

document.all.tipTable.rows[2].cells[0].innerHTML="商品价格:"+result[0].childNodes[1].firstChild.nodeValue;

}

}

}

function out() {

document.all.tip.style.display = "none";

}

</script>

3、 Servlet文件:(SelProvince.java文件中的doGet方法

public void doPost(HttpServletRequest request, HttpServletResponse response)

throws ServletException, IOException {

//虚拟一个商品列表

String[][] shop = {{"商品一","90","photo/photo1.jpg"},

{"商品二","190","photo/photo2.jpg"},

{"商品三","290","photo/photo3.jpg"}};

//获取页面参数

int index = Integer.parseInt(request.getParameter("index"));

response.setContentType("text/xml");

response.setCharacterEncoding("UTF-8");

PrintWriter out = response.getWriter();

//XML文件返回客户端

out.println("<shop>");

out.println("<name>"+shop[index][0]+"</name>");

out.println("<price>"+shop[index][1]+"</price>");

out.println("<photo>"+shop[index][2]+"</photo>");

out.println("</shop>");

out.flush();

out.close();

}

4、 web.xml文件配置:

<servlet-mapping>

<servlet-name>CreateTip</servlet-name>

<url-pattern>/CreateTip</url-pattern>

</servlet-mapping>

<servlet>

<servlet-name>CreateTip</servlet-name>

<servlet-class>com.solid.util.CreateTip</servlet-class>

</servlet>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值