<!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;也行
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);
添加回答
举报
0/150
提交
取消