| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 544 人关注过本帖
标题:[求助]有关clearInterval的问题
只看楼主 加入收藏
sonyyuna
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2010-7-22
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:2 
[求助]有关clearInterval的问题
我想让一个层在2秒钟内从高度为0开始恢复到原始高度,写了以下代码.可是该代码运行到setTimeout时失败,提示t没有定义,这是怎么一回事啊?该怎么修改这段代码?
function box()
{
    var a=document.getElementsByTagName("div")[0];
    var oldHeight=getStyle(a,"height");           //getStyle是一个用来获取样式的函数
    a.style.height="0px";
    var b=0;
    function change()
    {
        b+=parseInt(oldHeight)/20;
        a.style.height=b+"px";
    }
    var t=setInterval(change,100);
    setTimeout("clearInterval(t)",2000);
}
搜索更多相关主题的帖子: function change 
2010-07-22 19:00
gupiao175
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:40
帖 子:1787
专家分:7527
注 册:2007-6-27
收藏
得分:20 
因为T已经成了BOX函数里的私有变量了。只能函数内部用,外部无法调用,因此2秒后就提示:setTimeout("clearInterval(t)",2000);这个T没有定义!
给你个例子参考下,放外头!
程序代码:
<div id="div" style="width:200px;height:100px;background:red;">3333</div>

<script>

    var a=document.getElementById("div");
               //getStyle是一个用来获取样式的函数
    a.style.height=0;
    var b=0;

 function change()
    {
        b+=20;
        a.style.height=parseInt(b)+"px";
    }
    var t=setInterval(change,1000);
    setTimeout("clearInterval(t)",5000);//为了效果这里改为5秒
</script>

Q:1428196631,百度:开发地 即可找到我,有事请留言!
2010-07-23 01:27
sonyyuna
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2010-7-22
收藏
得分:0 
原来是这样,谢谢版主大哥的帮助
2010-07-23 07:50
快速回复:[求助]有关clearInterval的问题
数据加载中...
 
   



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

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