喜悦国际村 
» 游客:  注册 | 登录 | 搜索 | 统计 | 喜悦证交所 | 帮助

RSS 订阅当前论坛  

[北京]代朋友公司招聘PHP高级程序员多名

上一主题 下一主题
     
标题: [问题] 比较基础的问题!大哥们来看看!!  
 
ssmokingg55
新手上路
Rank: 1



UID 93350
精华 0
积分 23
帖子 13
金钱 23 喜悦币
威望 0
人脉 0
阅读权限 10
注册 2007-5-21
状态 离线
比较基础的问题!大哥们来看看!!

整段代码如下:


<script language="javascript">
      var rate = 30;
      var act = 0;
      var elmH = 0;
      var elmS = 128;
      var elmV = 255;
     
      var TimerID;
      if (navigator.appName.indexOf("Microsoft",0) != -1 && parseInt(navigator.appVersion) >= 4) {
      Browser = true;
      } else {
      Browser = false;
      }
      function doRainbowAnchor()
      {
      if (Browser && act != 1) {
        object = event.srcElement;                                                                     
       while (object.tagName != 'A' && object.tagName != 'BODY') {
      object = object.parentElement;
      if ( object.tagName == 'BODY')
      break;
      }
      if (object.tagName == 'A' && object.href != '') {
     act = 1;          
      clrOrg = object.style.color;
      TimerID = setInterval("ChangeColor()",100);
      }
      }
      }
      function stopRainbowAnchor()
      {
      if (Browser && act != 0) {
      
       object.style.color=clrOrg;
      clearInterval(TimerID);
      act = 0;
      }
      }
      function ChangeColor()
      {
      object.style.color = makeColor();
      }
      function makeColor()
      {
      if (elmS == 0) {
      elmR = elmV; elmG = elmV; elmB = elmV;
      }
      else {
      t1 = elmV;
      t2 = (255 - elmS) * elmV / 255;
      t3 = elmH % 60;
      t3 = (t1 - t2) * t3 / 60;
      if (elmH < 60) {
      elmR = t1; elmB = t2; elmG = t2 + t3;
      }
      else if (elmH < 120) {
      elmG = t1; elmB = t2; elmR = t1 - t3;
      }
      else if (elmH < 180) {
      elmG = t1; elmR = t2; elmB = t2 + t3;
      }
      else if (elmH < 240) {
      elmB = t1; elmR = t2; elmG = t1 - t3;
      }
      else if (elmH < 300) {
      elmB = t1; elmG = t2; elmR = t2 + t3;
      }
      else if (elmH < 360) {
      elmR = t1; elmG = t2; elmB = t1 - t3;
      }
      else {
      elmR = 0; elmG = 0; elmB = 0;
      }
      }
      elmR = Math.floor(elmR);
      elmG = Math.floor(elmG);
      elmB = Math.floor(elmB);
      clrRGB = '#' + elmR.toString(16) + elmG.toString(16) + elmB.toString(16);
      elmH = elmH + rate;
      if (elmH >= 360)
      elmH = 0;
      return clrRGB;
      }
      document.onmouseover = doRainbowAnchor;
      document.onmouseout = stopRainbowAnchor;
      </script>

</HEAD>

<BODY>
<a href="www.baidu.com"><b>sdhjfhdsjkfhskjdfh></b></a>
</BODY>
</HTML>


其中代码:
function doRainbowAnchor()
      {
      if (Browser && act != 1) {
        object = event.srcElement;          //为什么把这句放在最顶端(即:"var rate = 30")就会没有对象?而必须放在这里?                                                        
       while (object.tagName != 'A' && object.tagName != 'BODY') {
      object = object.parentElement;
      if ( object.tagName == 'BODY')
      break;
      }
      if (object.tagName == 'A' && object.href != '') {
     act = 1;          
      clrOrg = object.style.color;
      TimerID = setInterval("ChangeColor()",100);
      }
      }
      }
      function stopRainbowAnchor()
      {
      if (Browser && act != 0) {
      
       object.style.color=clrOrg;  /*cirOrg是在前一个函数中用来获取初始颜色的变量,clrOrg是前一个函数的局部变量为什么在这个函数中也能引用?相同的问题
                                                      object是上个函数用来获取事件的变量,为什么这个函数也能引用?
      clearInterval(TimerID);
      act = 0;
      }
      }



希望哪位大侠帮忙则个,不胜感激!!
2007-5-24 08:53 PM#1
查看资料  发短消息  顶部
     


  可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题 | 开通个人空间  


 




Powered by Discuz! 6.1.0  © 2001-2010 Comsenz Inc.
Processed in 0.023047 second(s), 6 queries

(冀ICP备05009913号) 管理员:sadly 邮箱/MSN: sadly@phpx.com QQ:824008(长隐) 清除 Cookies - - Archiver - WAP