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

我写了刷新效果,怎么点击按钮后按钮就消失了!

<script type="text/javascript">
function time(){
 var mydate=new Date();
  document.write("当前时间:"+mydate+"<br>");
  mydate.setTime( mydate.getTime()  + 2* 60 * 60 * 1000);
  document.write("推迟二小时时间:" + mydate);
}
 time()
</script>
</head>
<body>
<div>
<input type='button' value='刷新' onclick='time()'/>   
</div>
</body>

正在回答

5 回答

之前就遇到过这个问题!!!

document.write("当前时间:"+mydate+"<br>");     js中的这个语句,会覆盖html页面的内容。不管页面内容是文字,还是按钮,一旦js中出现这个语句,都会覆盖页面内容。

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

心为形役 提问者

原来是这样,谢谢!
2016-04-12 回复 有任何疑惑可以回复我~
#2

kuban 回复 心为形役 提问者

你这个问题提的非常有意思,上面回答会覆盖的根本原因是你例子中document.write是在文档流关闭之后执行的,此时相当于新打开文档流,等同于显示了新的页面,你的按钮在旧页面上,这个就是楼下回答的意思。如果把onclick事件取消,只在上面执行过time(),那么显然按钮是继续存在的,这是因为执行time()的时候还是文档流打开的时候,而onclick事件是在DOM树加载结束,文档流关闭后才执行的。
2016-04-19 回复 有任何疑惑可以回复我~
#3

心为形役 提问者 回复 kuban

虽然还不能完全理解你的意思,不过还是谢谢你。我会继续努力哒!\(>_<)/
2016-04-28 回复 有任何疑惑可以回复我~

你的代码出错了。我标出来了。

<script type="text/javascript">
function time(){
 var mydate=new Date();
  document.write("当前时间:"+mydate+"<br>");
  mydate.setTime( mydate.getTime()  + 2* 60 * 60 * 1000);
  document.write("推迟二小时时间:" + mydate);
}
 time()(这里错了,语法错误,后面就无法执行了)
</script>
</head>
<body>
<div>
<input type='button' value='刷新' onclick='time()'/>   
</div>
</body>

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

心为形役 提问者

但是在函数调用的章节说,可以直接写函数名称表示执行
2016-04-12 回复 有任何疑惑可以回复我~

你的函数名不能用time,使用关键字做函数名回出现错误

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

心为形役 提问者

换了函数名还是不行
2016-03-27 回复 有任何疑惑可以回复我~

If you annotate the function of time(),  maybe your button will not disappear.

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

心为形役 提问者

英文不好,抱歉!
2016-04-12 回复 有任何疑惑可以回复我~

函数调用后就切换了页面,并不是你的按钮消失了

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

心为形役 提问者

没明白是什么意思
2016-03-27 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

我写了刷新效果,怎么点击按钮后按钮就消失了!

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