ajax onmouseover显示Tip

看到很多网站上面 鼠标停留在商品图片上面 边上显示出个提示层 显示些简单的商品信息 呵呵 研究了下 终于弄了个出来 通过《ajax基础教程》得到很大提示 但是它的有很多错 呵呵
var tmp=null; // 声明一个临时变量 存贮图片位置的表格
var xmlHttp = null;
function createXMLHttpRequest() {
if (window.ActiveXObject) {
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
} else {
if (window.XMLHttpRequest) {
xmlHttp = new XMLHttpRequest();
}
}
}

function getContent(obj){
createXMLHttpRequest();
tmp=obj;
var url = "/OnlineLeatherStore/product.do?method=showProTip&pid="+tmp.id;
xmlHttp.onreadystatechange = showtip;
xmlHttp.open("GET", url, true);
xmlHttp.setrequestheader("content-type","application/x-www-form-urlencoded; charset=gbk");
xmlHttp.send(null);
}

function showtip(){
if (xmlHttp.readyState == 4) {
if (xmlHttp.status == 200) {
clearData();
var end=calculateOffsetWidth(tmp);
var top=calculateOffsetTop(tmp);
document.getElementById('showtip').style.border='black 1px solid';
document.getElementById('showtip').style.left=end+15+'px';
document.getElementById('showtip').style.top=top+100+'px';
var typename=xmlHttp.responseXML.getElementsByTagName("tname")[0].firstChild.nodeValue;
var brandname=xmlHttp.responseXML.getElementsByTagName("bname")[0].firstChild.nodeValue;
var content=xmlHttp.responseXML.getElementsByTagName("content")[0].firstChild.nodeValue;
var row,row1,row2;
row=createRow(typename);
row1=createRow(brandname);
row2=createRow(content);
document.getElementById('tipbody').appendChild(row);
document.getElementById('tipbody').appendChild(row1);
document.getElementById('tipbody').appendChild(row2);
}
}
}


function calculateOffsetTop(tmp){ //计算显示层的高度
var offset=0;
offset=tmp.offsetParent.offsetTop; //父节点的高度
return offset;
}
//计算显示层的宽度 因为我的是3列商品 所以需要判断 用了一个很笨的方法 应该还有可以直接判断鼠标位置的方法 但是时间原因 没有去找了
function calculateOffsetWidth(tmp){
var offset=0;
tid=tmp.parentNode.id;
if(tid == '1'){
offset=tmp.offsetWidth; //当前窗体的宽度
}
else if( tid == '2'){
offset=tmp.offsetWidth+tmp.offsetWidth+tmp.offsetWidth;
}
else if (tid=='3'){
offset=tmp.offsetWidth+tmp.offsetWidth+tmp.offsetWidth+tmp.offsetWidth+tmp.offsetWidth;
}
return offset;
}

//构建一行
function createRow(data){
var row;
var cell;
var txtNode;
row=document.createElement('tr');
cell=document.createElement('td');
cell.setAttribute('bgcolor','#ffffff');
cell.setAttribute('border','0');
txtNode=document.createTextNode(data);
cell.appendChild(txtNode);
row.appendChild(cell);
return row;
}
//清除层里面的东西
function clearData(){
var ind=document.getElementById('tipbody').childNodes.length;
for(var i=ind-1 ;i>=0; i--){
document.getElementById('tipbody').removeChild(document.getElementById('tipbody').childNodes[i]);
}
document.getElementById('tipbody').style.border="none";
}

// 下面是显示层
<div style="position:absolute" id="showtip">
<table id='tip' bgcolor="#fffafa" border="0" cellspacint='2' cellpadding='2'>
<tbody id="tipbody"></tbody>
</table>
</div>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
可以使用onmouseover属性来实现鼠标悬停显示图片的效果。具体步骤如下: 1. 在HTML中添加一个元素,例如<img>标签,用于显示图片。 2. 在CSS中为这个元素添加样式,设置宽度、高度等属性,以及将其display属性设置为none,使其在默认情况下不显示。 3. 在HTML中添加一个元素,例如<div>或<span>标签,用于鼠标悬停的区域。 4. 使用onmouseover属性,在悬停区域上添加一个JavaScript事件监听器,当鼠标悬停时,将图片的display属性设置为block,使其显示出来。 5. 使用onmouseout属性,在悬停区域上添加一个JavaScript事件监听器,当鼠标移开时,将图片的display属性重新设置为none,隐藏图片。 下面是一个示例代码: HTML代码: ``` <div onmouseover="showImage()" onmouseout="hideImage()">鼠标悬停这里</div> <img src="image.jpg" alt="图片" id="myImage"> CSS代码: img { width: 200px; height: 200px; display: none; } JavaScript代码: function showImage() { document.getElementById("myImage").style.display = "block"; } function hideImage() { document.getElementById("myImage").style.display = "none"; } ``` 在这个示例中,当鼠标悬停在悬停区域上时,会显示一张图片。当鼠标移开时,图片会隐藏起来。可以根据需要调整图片的大小、位置和显示效果。需要注意的是,这种方式实现的效果不够优雅和灵活,因此在实际开发中,可以考虑使用CSS中的:hover伪类来实现鼠标悬停显示图片的效果。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值