请指导一下为啥第一次点击隐藏按钮没有反应

qq_45427561 2019-08-07 01:28:39
html代码

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title></title>
<script type="text/javascript" src="test2.js"></script>
<script src="https://cdn.staticfile.org/jquery/1.8.3/jquery.min.js"></script>
</head>
<body>
<button onclick="alert('这是一个警告框!')">点我</button>
<button onclick="out()" id="btn" >隐藏</button>
<p id="is">欢迎您!</p>
</body>
</html>

js代码
function out(){
    btn.onclick = function(){
document.getElementById('btn').innerHTML="显示";
     document.getElementById('is').style.display = 'none';
     btn.onclick = function(){
document.getElementById('btn').innerHTML="隐藏";
     document.getElementById('is').style.display = 'block';
out();
}
}
  }
...全文
45 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
qq_45427561 2019-08-07
  • 打赏
  • 举报
回复
HTML代码 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title></title> <script type="text/javascript" src="test2.js"></script> <script src="https://cdn.staticfile.org/jquery/1.8.3/jquery.min.js"></script> </head> <body onload="out()"> <button onclick="alert('这是一个警告框!')">点我</button> <button id="btn" >隐藏</button> <p id="content" onclick="test()">欢迎您!</p> </body> </html> js代码 function out(){ btn.onclick = function(){ document.getElementById("btn").innerHTML = "显示";    document.getElementById("show").style.display = 'none'; document.getElementById('btn').disabled = true;     btn.onclick = function(){    document.getElementById("btn").innerHTML = "隐藏";     document.getElementById("show").style.display = 'block'; document.getElementById('btn').disabled = true; out(); }  } } setTimeout("test()",3000); function test(){ let content=document.getElementById('content'); content.style.display = 'none'; }
qq_45427561 2019-08-07
  • 打赏
  • 举报
回复
引用 1 楼 天际的海浪 的回复:
因为你第一次点击时执行的是out(),out()中只是重新绑定事件,并不会立即执行新绑定的事件。只有下次再点击才执行上次绑定的事件。 你可以把out()放到body的onload事件中,这样页面加载完成后绑定事件,第一次点击时才能执行新绑定事件。 <body onload="out()"> <button onclick="alert('这是一个警告框!')">点我</button> <button id="btn" >隐藏</button> <p id="is">欢迎您!</p> </body>
谢谢,已经解决了,感谢还把代码帮我改出来了
qq_45427561 2019-08-07
  • 打赏
  • 举报
回复
谢谢,已经解决了,感谢还帮忙把代码写出来了
天际的海浪 2019-08-07
  • 打赏
  • 举报
回复
因为你第一次点击时执行的是out(),out()中只是重新绑定事件,并不会立即执行新绑定的事件。只有下次再点击才执行上次绑定的事件。 你可以把out()放到body的onload事件中,这样页面加载完成后绑定事件,第一次点击时才能执行新绑定事件。 <body onload="out()"> <button onclick="alert('这是一个警告框!')">点我</button> <button id="btn" >隐藏</button> <p id="is">欢迎您!</p> </body>

87,993

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧