2009-12-01
鼠标移动到文本上弹出可移动可关闭窗口层的代码
标签:JavaScript网页在JavaScript的配合下,可以做出许多特效。最近,由于项目需要,我就研究实现了一个特效:但鼠标移动到一段文本上的时候,弹出一个类似于对话框的窗口(实际上是DIV弹出层),用户可以移动这个弹出窗口层,也可以关闭这个弹出窗口层,当然,还可以对弹出窗口层中的内容做一些点击处理等操作。
以下是代码实现的效果图:

鼠标移动到文本上弹出层的在线效果演示网址为:http://www.wangzhongyuan.com/static/pop.html
鼠标移动到文本上弹出可移动可关闭窗口层的代码如下:
- <script language=javascript>
- <!--
- var IE5=(document.getElementById && document.all)? true : false;
- var W3C=(document.getElementById)? true: false;
- var currID=null, preID=null; xoff=0, yoff=0; zctr=0; totz=0;
- function trackmouse(evt){
- if((currID!=null)){
- var x=(IE5)? event.clientX+document.body.scrollLeft : evt.pageX;
- var y=(IE5)? event.clientY+document.body.scrollTop : evt.pageY;
- currID.style.left=x+xoff+'px';
- currID.style.top=y+yoff+'px';
- return false;
- }
- }
- function stopdrag(){
- currID=null;
- NS6bugfix();
- }
- function grab_id(evt){
- xoff=parseInt(evt.style.left)-((IE5)? event.clientX+document.body.scrollLeft : evt.pageX);
- yoff=parseInt(evt.style.top)-((IE5)? event.clientY+document.body.scrollTop : evt.pageY);
- currID=evt;
- }
- function NS6bugfix(){
- if(!IE5){
- self.resizeBy(0,1);
- self.resizeBy(0,-1);
- }
- }
- if(W3C)document.onmousemove=trackmouse;
- if(W3C)document.onmouseup=stopdrag;
- if(!IE5 && W3C)window.onload=NS6bugfix;
- function hiddiv(blah)
- {
- blah.style.display="none";
- }
- function showdiv(blah)
- {
- blah.style.display="block";
- blah.style.left=window.event.clientX;
- blah.style.top=window.event.clientY;
- if(preID!=null&&preID!=blah)
- {
- preID.style.display="none";
- }
- preID = blah;
- }
- //-->
- </script>
- <style>
- .msgBoxDiv
- {
- position: absolute;
- z-index: 2;
- left: expression((body.clientWidth-320)/2-60);
- top: expression((body.clientHeight-330)/2+132);
- width: 320px;
- height: 330px;
- filter: dropshadow(color=#666666,offx=3,offy=3,positive=2);
- display:none;
- }
- </style>
- <div id="msgBox" class="msgBoxDiv">
- <div style="border: #036 solid; border-width: 1 1 3 1; width: 320px; height: 330px;background: #fff; color: #036; font-size: 15px; line-height: 140%;">
- <div style="background: #036; height: 8%; font-family: Verdana, Arial, Helvetica, sans-serif;font-size: 18px; padding: 3 5 0 0; color: #fff;text-align: center;" onmousedown="grab_id(msgBox);" onmouseup="stopdrag();">
- <div style="display: inline; width: 300px; float: left; text-align: center; height: 30px;line-height:30px;cursor:move">仲子说</div>
- <div onclick="msgBox.style.display='none';" style="float: left; display: inline; cursor: hand;height: 30px; line-height: 30px;" >×</div>
- </div>
- <div align='center'><br /><a href="http://www.wangzhongyuan.com">仲子说的网址是:http://www.wangzhongyuan.com</a><br /><br />仲子说是我的个人网站,主要发表我的文章以及一些技术心得,欢迎大家常来看看:)
- </div>
- </div>
- </div>
- <div id="msgBox1" class="msgBoxDiv">
- <div style="border: #036 solid; border-width: 1 1 3 1; width: 320px; height: 330px;background: #fff; color: #036; font-size: 15px; line-height: 140%;">
- <div style="background: #036; height: 8%; font-family: Verdana, Arial, Helvetica, sans-serif;font-size: 18px; padding: 3 5 0 0; color: #fff;text-align: center;" onmousedown="grab_id(msgBox1);" onmouseup="stopdrag();">
- <div style="display: inline; width: 300px; float: left; text-align: center; height: 30px;line-height:30px;cursor:move">论语</div>
- <div onclick="msgBox1.style.display='none';" style="float: left; display: inline; cursor: hand;height: 30px; line-height: 30px;" >×</div>
- </div>
- <div align='center'><br /><a href="http://www.wangzhongyuan.com">曾子曰:“吾日三省吾身;为人谋而不忠乎?与朋友交而不信乎?传不习乎?”</a></div>
- </div>
- </div>
- <table border="0" cellpadding="0" cellspacing="0" width="600">
- <tr>
- <td align="center"><a href="#" onmouseover=showdiv(msgBox);>仲子说</a></td>
- </tr>
- <tr><td> </td></tr>
- <tr>
- <td align="center"><a href="#" onmousemove=showdiv(msgBox1);>孔子说</a></td>
- </tr>
- <tr><td> </td></tr>
- <tr>
- <td align="center">本代码来自<a href="http://www.wangzhongyuan.com" target="_blank">仲子说</a>,原文地址为:<a href="http://www.wangzhongyuan.com/archives/763.html" title="鼠标移动到文本上弹出可移动可关闭窗口层的代码" target="_blank">http://www.wangzhongyuan.com/archives/763.html</a></td>
- </tr>
- </table>
本文可以自由转载,转载时请保留全文并注明出处:
转载自仲子说 [ http://www.wangzhongyuan.com/ ]
原文链接:http://www.wangzhongyuan.com/archives/763.html