大侠们,救命啊,关于浮动层的问题,看起来很难啊

binghe_yyh2001 2003-10-17 08:52:32
我想做一个浮动在页面上的层,该层一直随着鼠标拖动滚动条而自动显示在屏幕最右边,不知如何写啊,或者有什么其他解决方法也可
...全文
25 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
rgbcn 2003-10-17
  • 打赏
  • 举报
回复
这里共有两个文件,一个是demo.html 一个是floater.js 
你把他们放在同一个目录就可以了。记得给分哦。

demo.html

<DIV id=floater style="Z-INDEX: 20; LEFT: 2px; OVERFLOW: visible; WIDTH: 130px; POSITION: absolute; TOP: 342px">
<table width=144 border=0 align=center cellpadding=0 cellspacing=0 bordercolor="#CCCCCC" bgcolor="#F7FCEB">
<tr>
<td> </td>
</tr>
<tr>
<td height=41>
<div align=center><font size="2">www.rgbcn.com!</font><br>
  </div></td>
</tr>
<tr>
<td height=3></td>
</tr></table>
</DIV>
<P> </P>
<P> </P>
<P> </P>
<P> </P>
<P> </P>
<P> </P>
<P> </P>
<P> </P>
<P> </P>
<P> </P>
<P> </P>
<P> </P>
<P> </P>
<P> </P>
<P> </P>
<P> </P>
<P> </P>
<P> </P>
<P> </P>
<P>
<SCRIPT language=javascript
src="floater.js"></SCRIPT>
</P>



///////////////////////////////////////////////
floater.js 源代码


self.onError=null;
currentX = currentY = 0;
whichIt = null;
lastScrollX = 0; lastScrollY = 0;
NS = (document.layers) ? 1 : 0;
IE = (document.all) ? 1: 0;
function heartBeat() {
if(IE) { diffY = document.body.scrollTop; diffX = document.body.scrollLeft; }
if(NS) { diffY = self.pageYOffset; diffX = self.pageXOffset; }
if(diffY != lastScrollY) {
percent = .1 * (diffY - lastScrollY);
if(percent > 0) percent = Math.ceil(percent);
else percent = Math.floor(percent);
if(IE) document.all.floater.style.pixelTop += percent;
if(NS) document.floater.top += percent;
lastScrollY = lastScrollY + percent;
}

}
function checkFocus(x,y) {
stalkerx = document.floater.pageX;
stalkery = document.floater.pageY;
stalkerwidth = document.floater.clip.width;
stalkerheight = document.floater.clip.height;
if( (x > stalkerx && x < (stalkerx+stalkerwidth)) && (y > stalkery && y < (stalkery+stalkerheight))) return true;
else return false;
}
function grabIt(e) {
if(IE) {
whichIt = event.srcElement;
while (whichIt.id.indexOf("floater") == -1) {
whichIt = whichIt.parentElement;
if (whichIt == null) { return true; }
}

whichIt.style.pixelTop = whichIt.offsetTop;
currentY = (event.clientY + document.body.scrollTop);
}
if(checkFocus (e.pageX,e.pageY)) {
whichIt = document.floater;
StalkerTouchedX = e.pageX-document.floater.pageX;
StalkerTouchedY = e.pageY-document.floater.pageY;
} else {
window.captureEvents(Event.MOUSEMOVE);
}
return true;
}
document.onmousedown = "grabIt";
action = window.setInterval("heartBeat()",1);
saucer 2003-10-17
  • 打赏
  • 举报
回复
see

http://msdn.microsoft.com/workshop/samples/author/dhtml/refs/winless.htm

62,025

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧