» 您尚未 登录   注册 | 社区服务 | 帮助 | 社区 | 无图版


常州五颜六色网络技术有限公司 -> 网站建设 -> 网页中多层效果的灵活使用
 XML   RSS 2.0   WAP 

--> 本页主题: 网页中多层效果的灵活使用 加为IE收藏 | 收藏主题 | 上一主题 | 下一主题
阿七




该用户目前不在线
级别: 未验证会员
精华: 0
发帖: 909
威望: 0 点
金钱: 2161 RMB
贡献值: 0 点
在线时间:512(小时)
注册时间:2006-03-29
最后登录:2008-08-07
查看作者资料 发送短消息 推荐此帖 引用回复这个帖子

网页中多层效果的灵活使用

动态的网页技术(DHTM)已经非常普及,本文强力向大家推荐一段完整并且是经典的网页多层代码,适用于IE及NETSCAPE游览器,可实现完善的二层网页功能,具体代码请见面文后程序。 _ !k\~4U  
l>pnY%(A  
  该段代码功能:打开该网页文件之后,将在正常的网页之上,浮动另外一层网页内容,可用鼠标随意移动第二层网页在第一层上的位置,并且当屏幕滚动时,第二图层可始终保持同第一图层的相对位置,效果非常好。 L7N>p4h]Xj  
oSH]TL2@Cd  
  适用场合:有了这段代码,你可以对很多原有的网页进行改造,使游览者更为方便,比如可用于留言簿,第一层放置留言内容,浮动的第二层放置留言表单,这样游览留言操作和观察留言内容可在同一页面完成,并且无论屏幕滚动到什么位置,留言表单始终出现在屏幕之上,这无疑是最方便的留言系统工作方式。再比如可做为一般网页的导航条,有很多人为了编制美观的页面而放弃使用分栏导航页面方式,而使用整个页面,这样的页面每进入到一个分栏目,都要重新调入整个页面。有了这项技术,可以在原完整的页面之上,浮动一层导航菜单,即方便了导航又保持了页面的完整。另外也可以在某些页面之上浮动一个特定的图像或其它页面内容,等等,总之,这种技术应用非常广泛。 Pk:b:(4  
/Tp>aW%}"  
 代码说明:代码段一可放置在网页的文件头处,即段。代码段二为正常的网页内容,即第一层的代码内容。第三段为第二层网页的代码段,即浮动的网页内容。代码段四为必要的控制代码,可放置在网页的最后处。灵活使用:下面的代码是完整的网页文件代码,把代码段二和代码段三换成你自己所需要的内容就可以了,但由于本网页文件涉及两个网页的制作过程,可能制作起来相当费力,并且很多网页制作工具不支持这一功能,用低级的网页工具存盘后将失去浮动效果,所以对于这样的网页最好的维护方法是分页维护,即分别编制两个完整的网页内容,之后按要求合并在一个网页文件内即可。这样向你介绍一种最可取的方法,众所周知,现在的网页技术可以实现在一个网页内调用其它网页的功能,即所谓的画中画功能,所以完全可以把代码二和代码三换成固定的调用其它网页的固定代码,之后只需要对这两个单独的页维护就可以了。具体可用下面的代码替换代码二和三: Z )X(  
1(/rg  
ILAYER id="ad1" visibility="hidden" height="60"> ki]i[cdk  
</ILAYER> g?>   
<NOLAYER> :(i=> ~O  
<IFRAME SRC="h1.htm" width="100%" height="60" marginwidth="0" marginheight="0" hspace="0" vspace="0" frameborder="0" scrolling="no"> Yz>8 Nn'_  
</IFRAME> 其中SRC:用于指定打开的网页地址; 8[IR;gZf  
width:该表格占用的宽度; sf C/Q"Zs  
height:该表格点用的高度; uC"Gm;0  
marginwidth:网页内容在表格右侧的预留宽度; `12Y2W 9  
marginheight:网页内容在表格顶部预留的高度; LP} j0)n  
hspace:网页右上角的横坐标; )>!y7/3  
vspace:网页右上角的纵坐标; ;z9U_  
frameborder:是否显示边缘; |w.5*]?H  
scrolling:是否出现滚动条; j`-9.  
具体使用时把h1.htm分别换成不同的网页文件名。 lv& y<d;  
完成的网页文件代码如下: 1Pd2%  
<html> ?8$h%Ov-  
<head> |@dY[VK>  
<meta http-equiv="Content-Type" content="text/html; charset=gb2312"> e it%U  
//代码段一 !3Q^oR  
<style type="text/css"><!-- hJ(S]1B~G  
#floater {position: absolute;left: 500;top: 146;width: 125;visibility: visible;z-index: 10;} t,qz%J&a  
--> Y^ 'mBM#j  
</style> e;&fO[ 2  
//代码段一结束 I>@Qfc bG  
<title>浮动层</title> bYy7Ul6]  
</head> :JzJ(q/  
//代码段二(第一层内容,目前为空) A@n//AZM  
<body bgcolor="#FFFFFF"> M;E$ ]Z9  
<BR><BR><BR><BR><BR><BR><BR><BR><BR><BR><BR><BR><BR><BR> d'b q#r  
//代码段二结束 JPkI+0  
//代码段三(浮动层内容,目前为一简单表格) ^vo]bq7  
<div ID="floater" style="left: 0px; top: 1px"> $%5!CD1)  
<table border="1" cellpadding="0" cellspacing="0" oqy}?<SQ  
bgcolor="#25A78D" bordercolordark="#00FFFF" \yY2 mr  
bordercolorlight="#000000"> P>ZIP* Gr  
<tr> N"2P]Z r  
<td>111<a href="file:///G:/C/NEW/dhtml2.htm">1111</a></td> 9C\@10D  
<td>2222222</td> B0:/7Ld$Ml  
</tr> [HQ Bx`3TS  
</table> BY??X=  
</div> Z;J{&OJ3qM  
//代码段三结束 };]f 3  
//代码段四 W> rx:O+  
<script LANGUAGE="JavaScript"> TAZ+2S##7  
self.onError=null; fnudu0k  
currentX = currentY = 0; %1e{"_$O9  
whichIt = null; +U,>D +  
lastScrollX = 0; lastScrollY = 0; o'p[G]NQ1o  
NS = (document.layers) ? 1 : 0; + xRSd *  
IE = (document.all) ? 1: 0; v6+<F;G3y>  
<!-- STALKER CODE --> kIYV%O   
function heartBeat() { HDT-f9%}<4  
if(IE) { diffY = document.body.scrollTop; diffX = document.body.scrollLeft; } 2V=bE-  
if(NS) { diffY = self.pageYOffset; diffX = self.pageXOffset; } Z1M{5E  
if(diffY != lastScrollY) { L=5Fvm  
percent = .1 * (diffY - lastScrollY); %%f(R7n  
if(percent > 0) percent = Math.ceil(percent); ^ l9NF  
else percent = Math.floor(percent); A0 1 D-)  
if(IE) document.all.floater.style.pixelTop += percent; $+@xwuY'+  
if(NS) document.floater.top += percent; 2q*aq%  
lastScrollY = lastScrollY + percent; } IRl(H_.  
if(diffX != lastScrollX) { 2K$#U|Qi  
percent = .1 * (diffX - lastScrollX); APT /z0X>  
if(percent > 0) percent = Math.ceil(percent); f/RDo4  
else percent = Math.floor(percent); iZDZ/hohv  
if(IE) document.all.floater.style.pixelLeft += percent; MyJG2C#R  
if(NS) document.floater.left += percent; Y'v;!11#  
lastScrollX = lastScrollX + percent;}} 7H5t!yk|9  
<!-- /STALKER CODE --> _f@, >l  
<!-- DRAG DROP CODE --> %t<ba[9F  
function checkFocus(x,y) { W05 >\Rl  
stalkerx = document.floater.pageX; 5 ]v]^Y'?  
stalkery = document.floater.pageY; Y+'522er  
stalkerwidth = document.floater.clip.width; 3&z.m/  
stalkerheight = document.floater.clip.height; >*cg K}!@  
if( (x > stalkerx && x < (stalkerx+stalkerwidth)) && (y > stalkery && y < (stalkery+stalkerheight))) return true;  `Aa*}1  
else return false; } ^NPbD<~Lb  
function grabIt(e) { 58H%#3Fy  
if(IE) {whichIt = event.srcElement; s;4r)9Uvx  
while (whichIt.id.indexOf("floater") == -1) { zS+_6s  
whichIt = whichIt.parentElement; {f<\ `  
if (whichIt == null) { return true; } } a#o6Nv  
whichIt.style.pixelLeft = whichIt.offsetLeft; %1jApCJ  
whichIt.style.pixelTop = whichIt.offsetTop; DRw;.it2  
currentX = (event.clientX + document.body.scrollLeft); .a *^6TC.  
currentY = (event.clientY + document.body.scrollTop); } else { wz(D }N5  
window.captureEvents(Event.MOUSEMOVE); Om= *b#k  
if(checkFocus (e.pageX,e.pageY)) { dn)pVti_  
whichIt = document.floater; n%YG)5 ;  
StalkerTouchedX = e.pageX-document.floater.pageX; ;c;n.o.)/#  
StalkerTouchedY = e.pageY-document.floater.pageY; } } ST[+k  
return true;} GxR, 3  
function moveIt(e) { .6D9m.Q,  
if (whichIt == null) { return false; } ]9}T)D f'  
if(IE) { U DC>iHt  
newX = (event.clientX + document.body.scrollLeft); >7^+ag~&  
newY = (event.clientY + document.body.scrollTop); e;/C}sK:  
distanceX = (newX - currentX); distanceY = (newY - currentY); A->y#KQ  
currentX = newX; currentY = newY; }&mFpc  
whichIt.style.pixelLeft += distanceX; ttK`*Ng  
whichIt.style.pixelTop += distanceY; r\-25F<e5  
if(whichIt.style.pixelTop < document.body.scrollTop) whichIt.style.pixelTop = document.body.scrollTop; r 7mg>3  
if(whichIt.style.pixelLeft < document.body.scrollLeft) whichIt.style.pixelLeft = document.body.scrollLeft; &PAgab2$  
if(whichIt.style.pixelLeft > document.body.offsetWidth - document.body.scrollLeft - whichIt.style.pixelWidth - 20) whichIt.style.pixelLeft = document.body.offsetWidth - whichIt.style.pixelWidth - 20; 1xkU;no  
if(whichIt.style.pixelTop > document.body.offsetHeight + document.body.scrollTop - whichIt.style.pixelHeight - 5) whichIt.style.pixelTop = document.body.offsetHeight + document.body.scrollTop - whichIt.style.pixelHeight - 5; ,t]qe  
event.returnValue = false; *!gj$GK@%  
} else { X}5aE4K/  
whichIt.moveTo(e.pageX-StalkerTouchedX,e.pageY-StalkerTouchedY); @}e'(ju%R  
if(whichIt.left < 0+self.pageXOffset) whichIt.left = 0+self.pageXOffset; Q#i^<WUpg  
if(whichIt.top < 0+self.pageYOffset) whichIt.top = 0+self.pageYOffset; 0kD8wj%  
if( (whichIt.left + whichIt.clip.width) >= (window.innerWidth+ self.pageXOffset-17)) whichIt.left = ((window.innerWidth+self.pageXOffset)-whichIt.clip.width)-17; $qx&\@O  
if( (whichIt.top + whichIt.clip.height) >= (window.innerHeight+ self.pageYOffset-17)) whichIt.top = ((window.innerHeight+self.pageYOffset)-whichIt.clip.height)-17; %YaUc{.%  
return false; } return false; } v0dFP0.;&  
function dropIt() { yO6 _G q{  
whichIt = null; Z-{!Z;T)z  
if(NS) window.releaseEvents (Event.MOUSEMOVE); 47iwb  
return true; } / h6(!-"  
<!-- DRAG DROP CODE --> wnE c   
if(NS) { 0)8QOTeT  
window.captureEvents(Event.MOUSEUP|Event.MOUSEDOWN); J L9d&7-  
window.onmousedown = grabIt; :`Kr|3bQ  
window.onmousemove = moveIt; RT45@   
window.onmouseup = dropIt; } 4JHQ^i-aY  
if(IE) { ~EU[?  
document.onmousedown = grabIt; 4Pljyq:  
document.onmousemove = moveIt; n/"T7Y\2  
document.onmouseup = dropIt; } wE75HE`gW  
if(NS || IE) action = window.setInterval("heartBeat()",1); 1>*]jj}  
</script> ^gFjm~2I  
//代码段四结束 0<L@f=i  
</body> yvxC/Jo 4  
</html>

[楼 主] | Posted: 2006-04-04 09:10 顶端

常州五颜六色网络技术有限公司 -> 网站建设



Copyright © 2005-2009 5y6s Inc. 苏ICP备05001866号 Powered by PHPWind 5.0.1
Total 0.010987(s) query 4, Gzip enabled
会员言论不代表本站立场 本站法律顾问:北京汇泽律师事务所 韩律师
QQ:点击这里给我发消息 /点击这里给我发消息 /点击这里给我发消息