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

为什么我的效果是只能展开不能收起呢

为什么我的效果是只能展开不能收起呢

s10143129 2016-01-18 23:47:01
<!doctype html><html><head>    <meta charset="UTF-8"><title>Document</title>  <style>    #zhibo{width:600px;height:auto;margin:0 auto;background:red;padding:10px;}  </style></head><body><input type="button" value="切换" id="btn" onClick="showdiv()"/><div id="zhibo">  <p>我按你</p>  <p>nimazhale</p>   <div id="yin" style="display:none"><p>九尾</p><p>哈佛和</p></div></div> <script> function showdiv(){  var cc=document.getElementById('yin');  var ccc=document.getElementById('btn');  cc.style.display="block";  ccc.value="展开";  ccc.onClick="hidediv()"; };   function hidediv(){     var cc=document.getElementById('yin');  var ccc=document.getElementById('btn');  cc.style.display="none";  ccc.value="切换";  ccc.onClick="showdiv()"; };</script></body></html>
查看完整描述

7 回答

已采纳
?
逆光之羽

TA贡献55条经验 获得超13个赞

不能收起是因为ccc.onClick="hidediv()";和ccc.onClick="showdiv()";这两段代码没有实现修改click事件的关系;

js的点击事件是小写的onclick不是onClick;

你这段错误的语句正好相当于自定义了一个onClick属性然后给属性赋了一个字符串的值;

代码本身是符合语法的,所以JS文件正常执行了,但是和你想的效果不一样

所以你怎么点击都是只触发showdiv()这个函数,然后不断给onClick属性赋值

修改代码的话

用二楼的办法就能绑定成功

或者改成ccc.onclick=hidediv;也行


查看完整回答
反对 回复 2016-01-19
?
echo_kinchao

TA贡献600条经验 获得超86个赞

函数不对啊

查看完整回答
反对 回复 2016-01-19
?
qq_安伊偌拉_0

TA贡献27条经验 获得超2个赞

ccc.onClick="hidediv()";是你自己造的吗?应该这样:

在showdiv里面:

  ccc.removeEventListener("click", showdiv, false);

  ccc.addEventListener("click", hidediv, false);

在hidediv里面:

 ccc.removeEventListener("click", hidediv, false);

  ccc.addEventListener("click", showdiv, false);

查看完整回答
反对 回复 2016-01-19
?
犇犇大卵

TA贡献1条经验 获得超0个赞

命名规范点

查看完整回答
反对 回复 2016-01-19
?
qq_小鱼肉_0

TA贡献5条经验 获得超0个赞

你点击事件只会执行一个函数 ,若要调用内部函数应该另外写

查看完整回答
反对 回复 2016-01-19
?
qq_小鱼肉_0

TA贡献5条经验 获得超0个赞

你写的代码 很难看懂, ccc.onClick="hidediv()";去掉啊  

查看完整回答
反对 回复 2016-01-19
  • 7 回答
  • 0 关注
  • 2244 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信