本來是要用ajax技術實現的頁面提示,就是把鼠標放圖片上,就顯示相關的提示信息。因為要動態地顯示與圖片相關的提示信息,所以需要用ajax實現異步提取數據庫中的信息。
但是如果你需要顯示的是靜態的圖片相關信息,那就不需要用到ajax了,只用js就可以了,下面就是一個示例代碼:
<script language="javascript">...
var datatablebody;
var datadiv;
var curelement;
function getdetail()...{
datatablebody = document.getElementById("databody");
datadiv = document.getElementById("popup");
setdata(); //設置要顯示的數據
}
function setdata(data)...{
cleardata();
setoffsets();
var content = "你要顯示的提示信息";
var row = createrow(content); //創建一個tr
datatablebody.appendChild(row); //將創建的tr放入table中
}
function createrow(data)...{
var row,cell,txtnode;
row = document.createElement("tr"); //動態生成一個tr
cell = document.createElement("td"); //動態生成一個td
cell.setAttribute("bgcolor","#fffafa"); //設置背景顏色
cell.setAttribute("border","0"); //設置邊框大小
txtnode = document.createTextNode(data); //創建一個文本節點
cell.appendChild(txtnode); //將文本節點放入單元格cell
row.appendChild(cell); //將單元格cell放入生成的tr中
return row;
}
function setoffsets()...{
datadiv.style.border = "black 1px solid";
var top =0;
while(curelement)...{
top += curelement["offsettop"];
curelement = curelement.offsetparent;
}
datadiv.style.left = 50 + "px"; //設置要顯示提示框的左端位置
datadiv.style.top = top + "px"; //設置頂部位置
}
function cleardata()...{ //鼠標移開時,清除動態生成的tr
var ind = datatablebody.childNodes.length;
for(var i = ind-1;i>=0;i--)...{
datatablebody.removeChild(datatablebody.childNodes[i]);
}
datadiv.style.border = "none";
}
</script>
<img src="eclipse.ico" onmouseover="getdetail();" onmouseout="cleardata();"/>
<div style="position:absolute;" id="popup">
<table bgcolor="#fffafa" border="0" cellpadding="2" cellspacing="2">
<tbody id="databody">
</tbody>
</div>
該文章在 2010/8/18 10:45:31 編輯過