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);
的区别额(-。-;)? 展开
<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在哪定义的,没看到,这次应该没看错哦
展开全部
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);
这样写的区别么?
追答
都有作用么?都有作用,就没有区别
可以了么?上面的代码?可以的话就采纳吧,下次如果还可以帮你
不采纳的话,下次看到你提的问题,直接删掉不看了
那好吧,答案都可以,而且我最早回答,你既然看我不爽,我也看你不爽,
大家都是出来混的,你说你看我不爽,我又何尝不是看你不爽想用棍子扁你一顿呢
死脑残,欠扁啊,是我跟你有仇,还是那个匿名的猥琐是你老爸???
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
那两种写法没有任何区别,你的错误在于
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>
追问
谢谢!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询