LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 2437|回复: 9

javascript如何销毁变量

[复制链接]
发表于 2006-12-14 16:32:45 | 显示全部楼层 |阅读模式
我用JS判断鼠标在某个范围的执行情况,比如在DIV内,显示的为"DIV"

在HTML内显示的为"HTML"

然后我根据不同的值进行不同的操作.但是当页面刚刷新的时候是可以的.执行一次以后,无论怎样比较好象都可以,不知道为什么?比如我用 aaa='DIV'  ,但当我鼠标在HTML,TD等范围的时候,竟然也可以执行,好象aaa已经有了很多个值一样,

但我再刷新页面的时候,aaa 就又变回了只有一个值,也就是正常了.是怎么回事?
发表于 2006-12-16 13:28:08 | 显示全部楼层
不好意思,我根本没看懂楼主在写什么
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-12-16 15:12:03 | 显示全部楼层

你帮我看一下这个页面吧

Post by quhan
不好意思,我根本没看懂楼主在写什么

你帮我看一下这个页面吧,该怎样实现,
http://www.51mentor.com/person/look.php

鼠标放到"选择学校"上面的时候会出现菜单,然后鼠标再放到别处的时候,过5秒钟菜单就会消失.

也就是说,鼠标放在下面的一个学校范围的时候,学校列表就不会消失,但鼠标离开的时候过5秒就消失.

然后再回来的时候,就又不会消失了.
回复 支持 反对

使用道具 举报

发表于 2006-12-16 16:11:53 | 显示全部楼层
不就是普通的onmouseover和onmouseout应用么?
回复 支持 反对

使用道具 举报

发表于 2006-12-16 16:16:04 | 显示全部楼层
我看到的效果是,鼠标移至“选择学校”时,下面换为很多学校的列表,移开无反应,
移至学生列表,无反应,单击,出现学生列表
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-12-17 00:06:49 | 显示全部楼层

那请看下段HTML代码吧

Post by quhan
我看到的效果是,鼠标移至“选择学校”时,下面换为很多学校的列表,移开无反应,
移至学生列表,无反应,单击,出现学生列表

[PHP]
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>无标题文档</title>
<style type="text/css">
<!--
#Layer1 {
        position:absolute;
        width:100px;
        height:650px;
        z-index:1;
        background-color: #EFF8FE;
        left: 240px;
        top: 197px;
        border-right:1px solid #57ACF2;
       
}

#Layer2 {
        position:absolute;
        width:635px;
        height:650px;
        z-index:1;
        background-color: #EFF8FE;
        left: 340px;
        top: 197px;
}
#test {
        position:absolute;
        width:110px;
        height:600px;
        z-index:1;
        background-color: #EFF8FE;
        left: 860px;
        top: 197px;
        border-left:1px solid #57ACF2;
}

-->
      </style>
<script>





function hidelayer2()
{
//var loEL = document.elementFromPoint(event.clientX,event.clientY);
//var aa=250;
//var aa=window.event.x;
//document.write(aa);

var   oInterval   =   true;
if(oInterval==true)   
  {   
          oInterval   =   window.setInterval("fnRecycle()",3000);   //1000毫秒   
          oInterval   =   false;   
  }  
  
  var aaa=null;
  }

function   fnRecycle(){


sid="Layer1";
whichEl = eval(sid);
        eval(sid + ".style.display=\"none\";");
        /*
sid2="Layer2";
whichEl = eval(sid2);
        eval(sid2 + ".style.display=\"none\";");       
       
        */
       
        }
       
        function getNews()
{
sid="Layer1";
whichEl = eval(sid);
        eval(sid + ".style.display=\"\";");

}
</script>
</head>

<body  >
<script>

function document.onmouseover(){
        var loEL = document.elementFromPoint(event.clientX,event.clientY);
        test.innerHTML = loEL.tagName;
        aaa=null;
         aaa=loEL.tagName;
        //alert(aaa);
        if(aaa=='DIV')
        {
        hidelayer2();
        }
       
}
</script>
<div align="right" id="test" style="width:300;height:350;background:red;overflow:scroll">6666666666666</div>
<a href="#"  onMouseOver="getNews()"  class="blue"><strong>选择学校</strong></a>
<p>fffffffffffffffffffffffff</p>
<p>&nbsp;</p>
<p>eeeeeeeeeeeeeeeeeeeee</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>tttttttttttttttttt</p>
<div id="Layer1" style="display:none    "  ><a href='#' onMouseOver="getschool(1)" >安徽省</a><br><a href='#' onmouseover='getschool(2)' >北京市</a><br><a href='#' onmouseover='getschool(3)' >重庆市</a><br><a href='#' onmouseover='getschool(4)' >福建省</a><br><a href='#' onmouseover='getschool(5)' >甘肃省</a><br><a href='#' onmouseover='getschool(6)' >广东省</a><br><a href='#' onmouseover='getschool(7)' >广西</a><br><a href='#' onmouseover='getschool(8)' >贵州省</a><br><a href='#' onmouseover='getschool(9)' >海南省</a><br><a href='#' onmouseover='getschool(10)' >河北省</a><br><a href='#' onmouseover='getschool(11)' >黑龙江省</a><br><a href='#' onmouseover='getschool(12)' >河南省</a><br><a href='#' onmouseover='getschool(13)' >湖北省</a><br><a href='#' onmouseover='getschool(14)' >湖南省</a><br><a href='#' onmouseover='getschool(15)' >江苏省</a><br><a href='#' onmouseover='getschool(16)' >江西省</a><br><a href='#' onmouseover='getschool(17)' >吉林省</a><br>
      <a href='#' onmouseover='getschool(18)' >辽宁省</a><br><a href='#' onmouseover='getschool(19)' >内蒙古自治区</a><br><a href='#' onmouseover='getschool(20)' >宁夏回族自治区</a><br><a href='#' onmouseover='getschool(21)' >青海省</a><br><a href='#' onmouseover='getschool(22)' >山东省</a><br><a href='#' onmouseover='getschool(23)' >山西省</a><br><a href='#' onmouseover='getschool(24)' >上海市</a><br><a href='#' onmouseover='getschool(25)' >四川省</a><br><a href='#' onmouseover='getschool(26)' >天津市</a><br><a href='#' onmouseover='getschool(27)' >陕西省</a><br><a href='#' onmouseover='getschool(28)' >新疆维吾尔自治区</a><br><a href='#' onmouseover='getschool(29)' >西藏自治区</a><br><a href='#' onmouseover='getschool(30)' >云南省</a><br><a href='#' onmouseover='getschool(31)' >浙江省</a><br></div>
</body>

</html>

[/PHP]

第一次运行的时候,将鼠标放到 DIV 里面的时候,就会激活" hidelayer2()"这个函数,但自从激活一次以后,这个函数就会一直运行,真到等你再刷新页面为止.

我的意思是不刷新页面就把变量 aaa销毁掉,我用aaa=null 好象不行
回复 支持 反对

使用道具 举报

发表于 2006-12-17 13:54:28 | 显示全部楼层
clearInterval?
回复 支持 反对

使用道具 举报

发表于 2006-12-18 10:34:44 | 显示全部楼层
没有一直运行,只是改变了状态,然后网页的样子就变了,可以用onmouseout调用逆函数解决

比如存在隐藏元素<div id=anyid style=display:none>里面是大量内容</div>
通过onmouseover="javascript:document.getElementById('anyid').style.display='block';"来把
这个隐藏元素显示出来,他只是改变了div的状态,并没有一直运行什么你用onmouseout="javascript:document.getElementById('anyid').style.display='none';"可以将它恢复原状阿
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-12-20 18:44:36 | 显示全部楼层

被人围攻得受不了了

Post by quhan
没有一直运行,只是改变了状态,然后网页的样子就变了,可以用onmouseout调用逆函数解决

比如存在隐藏元素<div id=anyid style=display:none>里面是大量内容</div>
通过onmouseover="javascript:document.getElementById('anyid').style.display='block';"来把
这个隐藏元素显示出来,他只是改变了div的状态,并没有一直运行什么你用onmouseout="javascript:document.getElementById('anyid').style.display='none';"可以将它恢复原状阿


你好:
    我按你教我的方法,在另外一个星球上发表了一篇文章,被外星人围攻得受不了了,快拿点证据支持我一下吧.(注:这不是针对这个贴子的,是你以前教我的写程序的方法.具体情况你看一下这个地址吧:    http://www.phpx.com/happy/thread-129068-1-1.html       )
回复 支持 反对

使用道具 举报

发表于 2006-12-20 21:50:35 | 显示全部楼层
Post by yanglei1979
你好:
    我按你教我的方法,在另外一个星球上发表了一篇文章,被外星人围攻得受不了了,快拿点证据支持我一下吧.(注:这不是针对这个贴子的,是你以前教我的写程序的方法.具体情况你看一下这个地址吧:    http://www.phpx.com/happy/thread-129068-1-1.html       )

哎。说实话,我认为我说的方法和你发表的观点有很大的出入。我实在是不知道有什么办法能支持你,说句老实话,我写一个脚本对一组数据的操作最多最多是两个循环,不会有你那么多的呀。

另外一件事情是,我不太喜欢phpx的氛围,因为那里问问题的人基本在问出问题前自己都没有思考过,甚至连最基本的语法错误自己都不检查,只是看到出错立刻就问,所以我在那里注册了id却从来没有发过帖子,我真是找不到哪些问题该是需要我解答的。你看完这个帖子和我说一声,我立刻修改他,免得引起所谓“星球大战”。

关于我撰写php脚本的心得其实我在那个“推荐php工具”里面已经说得蛮清楚了,如果你还需要更多信息,可以M我,提供以下IM
msn: quhan quhan.com
skype: quhan0
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表