下面是改好的代码!
<html>
<head><title>导航树例子</title>
<script language="javascript" type="text/javascript" >
function dashu(e){
if(!document.getElementById) return
if(!e) var e=window.event
whicklink=(e.target)?e.target.id:e.srcElement.id
menu=document.getElementById(whicklink+"menu")
boolean=(menu.style.display=="none")
obj=document.getElementById(whicklink)
objname=obj.firstChild.nodeValue.substring(3)
if(boolean){
menu.style.display="block"
obj.firstChild.nodeValue="[-]"+objname
}
else{
menu.style.display="none"
obj.firstChild.nodeValue="[+]"+objname
}
}
function cheshi(){
document.write("wodeshijiebushimeng")
}
</script>
</head>
<body>
<ul>
<li><a id="yonghu" href="#">[+]用户管理</a><!--主菜单-->
<ul id="yonghumenu"><li><a href="#">修改密码</a></li>
<li><a href="#">注销账号</a></li>
<li><a href="#">查看密码</a></li>
</ul>
</li>
<li><a id="bumen" href="#">[+]部门管理</a>
<ul id="bumenmenu"><li><a href="#">修改密码</a></li>
<li><a href="#">注销账号</a></li>
<li><a href="#">查看密码</a></li>
</ul>
</li>
<li><a id="xinxi" href="#">[+]信息管理</a>
<ul id="xinximenu"><li><a href="#">修改密码</a></li>
<li><a href="#">注销账号</a></li>
<li><a href="#">查看密码</a></li>
</ul>
</li>
</ul>
<form name="myform">
<input type="button" name="mybutton" id="mybutton" >
</form>
</body>
</html>
<script>
document.getElementById("yonghu").onclick=dashu
document.getElementById("bumen").onclick=dashu
document.getElementById("xinxi").onclick=dashu
document.getElementById("mybutton").onclick=cheshi
</script>
移出dom只是把图片的dom元素移除了。但是src指向的图片资源还是被占据着。因此在删除dom元素之前,先把el.src = ''我在chrome中这样做是可以释放图片占用的内存资源的。
你可以参照一下Zepto库释放图片资源的方法。代码如下:
$.fn.remove = function(){return this.each(function(){
if(this.parentNode){
if(this.tagName === 'IMG'){
cache.push(this)
this.src = 'data:image/gifbase64,R0lGODlhAQABAAD/ACwAAAAAAQABAAACADs='//让图片资源指向一个空白的gif图片。用cache变量保存dom的引用,60秒。让垃圾回收器有时间回收多余的图片资源。
if (timeout) clearTimeout(timeout)
timeout = setTimeout(function(){ cache = [] }, 60000)
}
this.parentNode.removeChild(this)
}
})
}