if (document.getElementById('node' + no).style.display == 'none') {
document.getElementById('node' + no).style.display = 'block'}// 如果此层是隐藏的
这段里面在加一句所有子层隐藏就可以了
if (document.getElementById('node' + no).style.display == 'none') {
(要加在这里哦~要是加在document.getElementById('node' + no).style.display = 'block'这句下面就永远不会有子项显示)
document.getElementById('node' + no).style.display = 'block'}
例如你有以下节点:节点1,节点2,节点3
有以下四种方法
//展开树
function open(objNode){
//...your code 展开树
addClose(objNode)
}
//关闭树
function close(objNode){
//...your code 关闭树
addClose(objNode)
}
//添加展开事件
function addOpen(objNode){
//objNode节点对象
objNode.detachEvent.attachEvent("onclick",close)
objNode.attachEvent("onclick",open)
}
//添加关闭事件
function addClose(objNode){
//objNode节点对象
objNode.detachEvent.attachEvent("onclick",open)
objNode.attachEvent("onclick",close)
}
那么在生成树的时候给所有节点绑定方法open(objNode)就可以了。
上面的代码是用原生的JS写的。JQuery的。。你可以在网上找找如何绑定与删除事件。