用php和js实现简单的树结构(点击收缩与拉伸)
来源:互联网 发布:知其雄守其雌为天下溪 编辑:程序博客网 时间:2024/05/27 03:27
<script type="text/javascript" src="jquery.js"></script>
<script language="javascript" type="text/javascript">
function show(eventName)
{
$("#"+eventName).children().toggle();
}
$result[0] = array('id'=>1,'pid'=>0,'name'=>'公司1',);
$result[1] = array('id'=>2,'pid'=>0,'name'=>'公司2');
$result[2] = array('id'=>3,'pid'=>2,'name'=>'公司2的子公司1');
$result[3] = array('id'=>4,'pid'=>1,'name'=>'公司1的子公司1');
$result[4] = array('id'=>5,'pid'=>2,'name'=>'公司2的子公司2');
$result[5] = array('id'=>6,'pid'=>3,'name'=>'公司2的子公司1的子公司1');
$result[6] = array('id'=>7,'pid'=>3,'name'=>'公司2的子公司1的子公司2');
$result[7] = array('id'=>8,'pid'=>3,'name'=>'公司2的子公司1的子公司3');
$result[8] = array('id'=>9,'pid'=>8,'name'=>'公司2的子公司1的子公司3');
$result[9] = array('id'=>10,'pid'=>9,'name'=>'公司2的子公司1的子公司3');
//简易类
class tree
$this->idName = $idName;//当前节点的id
$this->pidName = $pidName;//父节点的id
$this->nodeName = $nodeName;
$tree = array();
foreach((array)$rs as $k=>$v)
{
$tree[$v[$pidName]][] = $v;
}
$this->treeArray = $tree;
{
if( $this->treeArray[$root] )
{
foreach($this->treeArray[$root] as $k=>$v)
{
$t = $v[$this->idName];
$p = $v[$this->pidName];
$name=$v[$this->nodeName];
if($this->treeArray[$t] )
$gx = $deep + 1;
$html .= $this->showTree( $t,$gx );
$html .="</span>";
}
$html .="</span>";
}
}
return $html;
}
}
$tree = new tree($result,'id','pid','name');
echo $tree->showTree(0,0);
<script language="javascript" type="text/javascript">
function show(eventName)
{
$("#"+eventName).children().toggle();
}
</script>
//树的节点,id是每个节点的唯一标志,pid表示他的父节点 ,name表示节点的名称
$result[0] = array('id'=>1,'pid'=>0,'name'=>'公司1',);
$result[1] = array('id'=>2,'pid'=>0,'name'=>'公司2');
$result[2] = array('id'=>3,'pid'=>2,'name'=>'公司2的子公司1');
$result[3] = array('id'=>4,'pid'=>1,'name'=>'公司1的子公司1');
$result[4] = array('id'=>5,'pid'=>2,'name'=>'公司2的子公司2');
$result[5] = array('id'=>6,'pid'=>3,'name'=>'公司2的子公司1的子公司1');
$result[6] = array('id'=>7,'pid'=>3,'name'=>'公司2的子公司1的子公司2');
$result[7] = array('id'=>8,'pid'=>3,'name'=>'公司2的子公司1的子公司3');
$result[8] = array('id'=>9,'pid'=>8,'name'=>'公司2的子公司1的子公司3');
$result[9] = array('id'=>10,'pid'=>9,'name'=>'公司2的子公司1的子公司3');
//简易类
class tree
{
//创建树
function tree($rs,$idName,$pidName,$nodeName)
{$this->idName = $idName;//当前节点的id
$this->pidName = $pidName;//父节点的id
$this->nodeName = $nodeName;
$tree = array();
foreach((array)$rs as $k=>$v)
{
$tree[$v[$pidName]][] = $v;
}
$this->treeArray = $tree;
}
//显示树
{
if( $this->treeArray[$root] )
{
foreach($this->treeArray[$root] as $k=>$v)
{
$t = $v[$this->idName];
$p = $v[$this->pidName];
$name=$v[$this->nodeName];
$str = str_repeat(" ",$deep*4)."|-".str_repeat("-",$deep);
//在每个节点的前面加个<span>标签
if($this->treeArray[$t] )
{
//使用递归的方法在每个节点的后面价格</span>标签
$gx = $deep + 1;
$html .= $this->showTree( $t,$gx );
$html .="</span>";
}
$html .="</span>";
}
}
return $html;
}
}
$tree = new tree($result,'id','pid','name');
echo $tree->showTree(0,0);
?>
- 用php和js实现简单的树结构(点击收缩与拉伸)
- 原生js实现简单的展开收缩
- js实现菜单的收缩与展开
- JS实现段落的收缩与展开
- js 点击展开和收缩效果
- js与php实现简单的倒计时(新手)
- DIV结构的点击收缩展开左边栏代码(html+css+js)
- 最简单JS实现展开收缩代码
- js实现盒子的拉伸
- js实现收缩导航树
- JS jquery 菜单栏点击展开 收缩 基于UC浏览器主页的顶端实现
- js中如何点击自身,进行展开与收缩
- 用js实现简单的点击返回顶部效果
- 用js实现简单的点击返回顶部效果
- 实现表的点击后增加一行再次点击收缩
- js实现内容模块展开和收缩
- pencv拉伸,扭曲,收缩和旋转
- 表格布局-允许被拉伸和收缩
- linux 相关知识总结
- Java虚拟机的深入研究(堆内存---栈内存 的分配浅析)
- ubuntu下terminal中文显示问题.txt
- JDBC连接各种数据库方式列表
- 颜色模型检测
- 用php和js实现简单的树结构(点击收缩与拉伸)
- 南村有雁来
- linux signal all signal_num study
- ADB命令启动手机端应用
- java加密解密算法
- 既然xhtml是用来替代html的,为什么还推出html5?
- 算法
- java中堆和栈的区别
- IOS_自定义UIButton的子视图位置 EdgeInsets属性