js小白求助,代码如下,谢谢!

为什么我点击调用不了startClock()这个函数呢?虽然我也觉得我这样写很不妥~~,求解--<script>//显示时间window.onload=function(... 为什么我点击调用不了startClock()这个函数呢?虽然我也觉得我这样写很不妥~ ~,求解--
<script>
//显示时间
window.onload=function (){
var oBtn=document.getElementsByTagName("input");
oBtn[0].onclick=function showTime() {
var oSpan=document.getElementById("spanTime");
var oDate=new Date();
oSpan.innerHTML=oDate.getFullYear()+"年"+(oDate.getMonth()+1)+"月"+oDate.getDate()+"日"+" 星期"+oDate.getDay()+"<br/>时间:"+oDate.getHours()+":"+oDate.getMinutes()+":"+oDate.getSeconds();
}
//启动时钟
oBtn[1].onclick=function startClock() {
i=window.setInterval(showTime(),1000);

}
//停止时钟
oBtn[2].onclick=function stopClock() {
window.clearInterval(i);
}
}
</script>
现在不明白 i = window.setInterval(function() {showTime()}, 1000);
和 i = window.setInterval(showTime, 1000);
的区别额(-。-;)?
展开
 我来答
匿名用户
2015-12-11
展开全部
你的启动时钟函数和停止函数写成一样的了,改掉其中一个的函数名就好了
更多追问追答
追问
不一样的名字啊~~一个startClock()一个stopClock()?
追答
哦,不好意思是我看错了, startClock()这个方法里的i在哪定义的,没看到,这次应该没看错哦
yugi111
2015-12-11 · TA获得超过8.1万个赞
知道大有可为答主
回答量:5.1万
采纳率:70%
帮助的人:1.3亿
展开全部
var interval;
window.onload = function() {
    var oBtn = document.getElementsByTagName("input");
    var oSpan = document.getElementById("spanTime");

    function showTime() {
        var oDate = new Date();
        oSpan.innerHTML = oDate.getFullYear() + "年" + (oDate.getMonth() + 1) + "月" + oDate.getDate() + "日" + " 星期" + "日一二三四五六".split("")[oDate.getDay()] + "<br / >时间:" + oDate.getHours() + ":" + oDate.getMinutes() + ":" + oDate.getSeconds();
    }
    oBtn[0].onclick = function() {
        showTime();
    }
    oBtn[1].onclick = function() {
        if (!interval) {
            interval = setInterval(function() {
                showTime();
            }, 1000);
        }
    }
    oBtn[2].onclick = function() {
        if ( !! interval) {
            clearInterval(interval);
            interval = null;
        }
    }
}
更多追问追答
追问
能告诉我这句 i = window.setInterval(function() {showTime()}, 1000);
和 i = window.setInterval(showTime, 1000);
这样写的区别么?
追答
都有作用么?都有作用,就没有区别

可以了么?上面的代码?可以的话就采纳吧,下次如果还可以帮你
不采纳的话,下次看到你提的问题,直接删掉不看了

那好吧,答案都可以,而且我最早回答,你既然看我不爽,我也看你不爽,

大家都是出来混的,你说你看我不爽,我又何尝不是看你不爽想用棍子扁你一顿呢

死脑残,欠扁啊,是我跟你有仇,还是那个匿名的猥琐是你老爸???
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
flywithclouder
2015-12-12 · TA获得超过136个赞
知道小有建树答主
回答量:158
采纳率:0%
帮助的人:86.1万
展开全部

那两种写法没有任何区别,你的错误在于

oBtn[0].onclick=function showTime() {

这句话中,showTime只是局部变量,oBtn[1]的click函数是无法访问的。你写成全局的就行了。

两种写法我也试过了,都可以正常启动、停止

<script>
    //显示时间
    window.onload = function()
    {
        var oBtn = document.getElementsByTagName("input");
        function showTime()
        {
            var oSpan = document.getElementById("spanTime");
            var oDate = new Date();
            oSpan.innerHTML = oDate.getFullYear() + "年" + (oDate.getMonth() + 1) + "月" + oDate.getDate() + "日" + " 星期" + oDate.getDay() + "<br/>时间:" + oDate.getHours() + ":" + oDate.getMinutes() + ":" + oDate.getSeconds();
        }
        oBtn[0].onclick = showTime;
        //启动时钟
        oBtn[1].onclick = function startClock()
        {
            i = window.setInterval(showTime, 1000);
        }
            //停止时钟
        oBtn[2].onclick = function stopClock()
        {
            window.clearInterval(i);
        }
    }
</script>
追问
谢谢!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式