首先,这个浮动层其实是一个没有内容的div,为了控制div浮动的位置,需要将其style的position设置成absolute,为了使这个层浮动在页面其他元素之上,需要设置z-index为一个比较大的值,浮动层一开始应该是不可见的,即:<div id="popup" style="position:absolute; z-index:100; display:none; background-color:#eeeeee"></div>
好了,可见浮动层事先就在这里,只不过用户看不见。而当事件(比如说鼠标移到DVD海报图片上)被捕捉时,程序就会控制这个浮动层在合适的位置出现了。为此,先应该有一个类似于“DVD海报封面”的东西,比如这可以是一个链接:<a onclick="javascript:generateFloatLayer()">点击生成浮动层</a>,点击后执行下面的函数:
function generateFloatLayer(){
floatArea=document.getElementById("popup");
floatArea.style.display="none";
divClose='<div id="close" style="position:absolute; right:10px; top:10px; left:auto; bottom:auto;"><a href="javascript:closeFloat();">X</a></div><br>';
x=event.clientX + document.body.scrollLeft;
y=event.clientY + document.body.scrollTop;
floatArea.innerHTML=divClose+"<div id=\"floatcontent\">some content</div>";
floatArea.style.border="black 1px solid";
floatArea.style.left=(document.documentElement.scrollLeft+x-15)+"px";
floatArea.style.top=(document.documentElement.scrollTop+y-50)+"px";
floatArea.style.width="300px";
floatArea.style.height="300px";
floatArea.style.display="";
}
function closeFloat(){
floatArea=document.getElementById("popup");
floatArea.innerHTML="";
floatArea.style.display="none";
}