为了账号安全,请及时绑定邮箱和手机立即绑定

js函数内调用不了另一个函数

<!DOCTYPE html>

<html>

<head>

    <meta charset="UTF-8">

    <title>实践题 - 选项卡</title>

    <style type="text/css">

     /* CSS样式制作 */  

     *{margin:0px; padding:0px;}

     .fs-14{font-size:14px;}

     .fw-900{font-weight:900;}

    ul{list-style:none;display:inline-block;

       margin-left:5px;

       margin-top:10px;

    }

    #top li{float:left;

            width:60px;height:30px;

            border:1px solid #CCC;

            text-align:center; line-height:30px;

            margin-right:5px;

            border-bottom:none;

cursor:pointer;

    }

    #Thehold div{width:270px;height:130px;

                 border:1px solid #CCC;

                 margin-top:-7px;

                 margin-left:2px;

                 border-top:2px solid saddlebrown;

    } 

    #Thehold div ul{font-size:12px;font-weight:900;

                    line-height:25px;

                    padding-left:5px;

                    margin-top:3px;

    }

    #Thehold #top .ulshow{background-color:#FFF;

                          border-top:2px solid saddlebrown;

    }

    #Thehold .onhide{display:none;}

    </style>

    <script type="text/javascript">

         

    // JS实现选项卡切换

var num=0;

var p;

function keepChange(){

var the=document.getElementById("Thehold");

            var top=document.getElementById("top");

            var list=top.getElementsByTagName("li");

            var div=the.getElementsByTagName("div");

if(num==3) num=0;

 

for(var i=0;i<list.length;i++){

list[i].className="";

   div[i].className="onhide";

}

list[num].className="ulshow";

div[num].className="";

aaa.innerText=num;

num++;

p=setTimeout("keepChange()",1000);

}

    function change(id){

clearTimeout(p);

var the=document.getElementById("Thehold");

        var top=document.getElementById("top");

        var list=top.getElementsByTagName("li");

        var div=the.getElementsByTagName("div");

        for(var i=0;i<=list.length;i++){

if(i==id){

list[i].className="ulshow";

       div[i].className="";

}else{

list[i].className="";

div[i].className="onhide";

}

}

keepchange();

}


    window.onload=function(){

keepChange();

}

    </script>

 

</head>

<body>

<!-- HTML页面布局 -->

<div id="Thehold">

    <ul id="top">

        <li onClick="change(0)">房产</li>

        <li onClick="change(1)">家居</li>

        <li onClick="change(2)">二手房</li>

    </ul>

    <div>

        <ul>

            <li>275万购昌平邻铁三居 总价20万买一居</li>

            <li>200万内购五环三居 140万安家东三环</li>

            <li>北京首现零首付楼盘 53万购东5环50平</li>

            <li>京楼盘直降5000 中信府 公园楼王现房</li>

        </ul>

    </div>

    <div>

        <ul>

            <li>40平出租屋大改造 美少女的混搭小窝</li>

            <li>经典清新简欧爱家 90平老房焕发新生</li>

            <li>新中式的酷色温情 66平撞色活泼家居</li>

            <li>瓷砖就像选好老婆 卫生间烟道的设计</li>

        </ul>

    </div>

    <div>

        <ul>

            <li>通州豪华3居260万 二环稀缺2居250w甩</li>

            <li>西3环通透2居290万 130万2居限量抢购</li>

            <li>黄城根小学学区仅260万 121平70万抛!</li>

            <li>独家别墅280万 苏州桥2居优惠价248万</li>

        </ul>

    </div>

</div>

<p id="aaa"></p>

</body>

</html>


大概的情况是这样的:

我想做选项卡一开始自动滚动,当点击完后恢复自动滚动。

而在其中的点击函数中,调用不了自动滚动函数。为什么?

正在回答

6 回答

兄弟,我还是没看懂你的id是哪里传进来的,能解释下吗


0 回复 有任何疑惑可以回复我~

声明计时器那个变量p,即加个var p=setTimeout("keepChange()",1000);

0 回复 有任何疑惑可以回复我~

好像又不行0.0

0 回复 有任何疑惑可以回复我~

你的那个change(id)改为change(num),我已经试过了,ok

0 回复 有任何疑惑可以回复我~

。。。。。。。。。。。无权限

0 回复 有任何疑惑可以回复我~
#1

_wuzi3764194 提问者

那应该怎样写??
2016-08-16 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
JavaScript进阶篇
  • 参与学习       468061    人
  • 解答问题       21891    个

本课程从如何插入JS代码开始,带您进入网页动态交互世界

进入课程

js函数内调用不了另一个函数

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信