| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 646 人关注过本帖
标题:代码解读
只看楼主 加入收藏
TZTJ
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:737
专家分:115
注 册:2008-1-15
结帖率:100%
收藏
 问题点数:0 回复次数:4 
代码解读
请各位高手,详细帮我解读以下代码好吗?
<script language="javascript">
<!--
float_init    = 1;
function DHTML_Init(Object) {
  if (navigator.userAgent.match(/Mozilla\/5\../) && float_init) {
      SetObjectOffsetTop(Object, undefined);
  }
}
function All (ID) {
  if (document.all)    {  return document.all[ID];   }
  else if (document.documentElement){
  return document.getElementById (ID);
  }
  else if (document.layers)    { return document.layers[ID]; }
}
function GetWindowOffsetTop() {
  if (window.innerHeight)    { return window.pageYOffset; }
  else if (document.body)    { return document.body.scrollTop; }
}
function GetWindowHeight() {
  if (window.innerHeight)    { return window.innerHeight; }
  else if (document.body)    { return document.body.clientHeight; }}
function GetObjectHeight(Object) {
  DHTML_Init(Object);
  if (document.all || document.documentElement)    {
    Clip = Object.style.clip;
  if (! Clip) { return Object.offsetHeight; }
  else    { return GetClipElement (Clip, 'Bottom'); }}
  else if (document.layers)    { return Object.clip.height; }}
function GetClipElement (Clip, Element) {
  Clip = Clip.substr(Clip.indexOf('(') + 1);
  Clip = Clip.substr(0, Clip.length - 1);
  Clippers = Clip.split (" ");
  for (i = 0; i < Clippers.length; i++) {
    if (Clippers[i] != 'auto') {
    Clippers[i] = Clippers[i].replace (/D/g, ""); }
  }
  ClipTop = Number(Clippers[0]);
  ClipRight = Number(Clippers[1]);
  ClipBottom = Number(Clippers[2]);
  ClipLeft = Number(Clippers[3]);
  if (Element == 'Top')        { return ClipTop; }
    else if (Element == 'Right')    { return ClipRight; }
    else if (Element == 'Bottom')    { return ClipBottom; }
    else if (Element == 'Left')    { return ClipLeft; }
    else                { return undefined; }}
function GetObjectOffsetTop(Object) {
  DHTML_Init(Object);
  if (Object.offsetTop)    { return Object.offsetTop; }
  else if (document.layers)    { return Object.top; }
}
function SetObjectOffsetTop(Object, Offset) {
  if (Object.style)    { Object.style.top = Offset; }
  else if (Object.top)    { Object.top = Offset; }}
  CenterMenu = 1;     
  MenuBorder = 100;
  TimeCheck  = 250;     
  TimeUpdate = 15;
  DivUpdate  = 15;     
  Minimum    = 50;     
  AddHeight  = -4;
function ScrollMenu() {
  Menu        = All('persistMenu');
  WinTop    = GetWindowOffsetTop();
  WinHeight    = GetWindowHeight() + AddHeight;
  MenuTop    = GetObjectOffsetTop(Menu);
  MenuHeight = GetObjectHeight (Menu);
  MenuNew    = (CenterMenu) ? Math.round (WinTop + (WinHeight - MenuHeight) / 1) : WinTop + MenuBorder;
  if (MenuNew < Minimum)
  { MenuNew = Minimum; }
  if (MenuTop != MenuNew) {
  if ( (MenuTop + MenuHeight) < WinTop || MenuTop > (WinTop + WinHeight) ) {
    SetObjectOffsetTop (Menu, (MenuTop < MenuNew) ? (WinTop - MenuHeight) : (WinTop + WinHeight));
  }
  else {
     Add = (MenuTop < MenuNew) ? 1 : -1;
     SetObjectOffsetTop (Menu, MenuTop + Math.round((MenuNew - MenuTop) / DivUpdate) + Add);
     }
     }
         window.setTimeout('ScrollMenu()', (GetObjectOffsetTop(Menu) == MenuNew) ? TimeCheck : TimeUpdate);
     }

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}
function MM_showHideLayers() { //v3.0
  var i,p,v,obj,args=MM_showHideLayers.arguments;
  for (i=0; i<(args.length-2); i+=3) if ((obj=MM_findObj(args[i]))!=null) { v=args[i+2];
    if (obj.style) { obj=obj.style; v=(v=='show')?'visible':(v='hide')?'hidden':v; }
    obj.visibility=v; }
}
//-->
</script>
搜索更多相关主题的帖子: 代码 解读 
2010-06-19 09:29
TZTJ
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:737
专家分:115
注 册:2008-1-15
收藏
得分:0 
怎么没人帮忙呢?
2010-06-23 09:56
poyexyp
Rank: 4
等 级:业余侠客
威 望:1
帖 子:27
专家分:205
注 册:2010-6-23
收藏
得分:0 
初始化-判断浏览器-获取位置-动态菜单。。。10年前的dhtml了,而且不考虑禁用了js的用户体验。与其读代码不如买js基础的书来看看会更容易提高些。
2010-06-23 10:46
快速回复:代码解读
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.016503 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved