清除缓存没有用。
代码如下:
<span id="member_status" style="cursor:pointer;color:#090;" onclick="close_member()">登录已开启</span>
<script type="text/javascript">
function close_member(){
//alert("close");
document.getElementById("member_status").innerHTML="<span style='color:#CCC;font-size:1.0em;' onclick='restore_member()'>登录已关闭</span>"
}
function restore_member(){
//alert("restore");
document.getElementById("member_status").innerHTML="<span style='color:#090;font-size:1.0em;' onclick='close_member()'>登录已开启</span>"
}
</script>
你的思路是错误的,当第一次执行 close_member 的时候,设置的是 span 的 innerHTML,结果变成
<span...><span...>登录已关闭</span></span>,内层的 span
没有 onclick 事件,导致下一次点击什么都不会发生。
这样就对了
问题是切不回去了。只在IE6生效,火狐和其他浏览器都不正常。不知道哪里出问题了。
追答哦,刚才也被ie骗了,你这样改innerHTML,改的是这个span的内容,不是他自己。
可以这样
var member_closed = false;
function close_member(){
member_closed = !member_closed;
var m = document.getElementById("member_status");
m.style.color = member_closed ? "#CCC" : "#090";
}
如果有别的需要执行就把? : 换成if else,
简单的说就是根据member_closed来判断要执行什么代码,就不用写两个function了