无限循环菜单列表的实现
2015-10-10 12:57
621 查看
在这里我是用TP框架写得,当然不用TP写,改一下代码就可以了,自己可以加css样式
在控制器里写
html输出
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title></title>
<script type="text/javascript" src="__JS__/jquery.js"></script>
<style>
a{text-decoration: none;color:#000000;}
.menu ul{ display:none}
</style>
<script type="text/javascript">
$(function(){
$('.parent').click(function(){
$(this).parent('li').children('ul').stop().slideToggle('linear');
});
});
</script>
</head>
<body>
<h1>无限循环可折叠菜单</h1>
<ul>
{$list}
</ul>
</body>
</html>
在控制器里写
public function index(){ //初始化数据模型 $Menu = M('Menu'); $data = $Menu->select(); $list = $this->menus($data,0); //渲染模板 $this->assign('list',$list); $this->display(); }
public function menus($data=array(),$pid=0){ $str = ''; foreach($data as $k=>$v){ //$str .= $v['name']; if($pid == $v['pid']){ $str .= '<li class="menu">'; $str .= '<a href="###" class="parent">'.$v['name'].'</a>'; $str .= '<ul>'.$this->menus($data,$v['id']).'</ul>'; $str .= '</li>'; } } return $str; }
html输出
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title></title>
<script type="text/javascript" src="__JS__/jquery.js"></script>
<style>
a{text-decoration: none;color:#000000;}
.menu ul{ display:none}
</style>
<script type="text/javascript">
$(function(){
$('.parent').click(function(){
$(this).parent('li').children('ul').stop().slideToggle('linear');
});
});
</script>
</head>
<body>
<h1>无限循环可折叠菜单</h1>
<ul>
{$list}
</ul>
</body>
</html>
相关文章推荐
- 一个关于if else容易迷惑的问题
- JQuery1——基础($对象,选择器,对象转换)
- MySQL中的integer 数据类型
- MySQL存储过程
- PHP5.2.*防止Hash冲突拒绝服务攻击的Patch
- 深入理解PHP之匿名函数
- mysql中int、bigint、smallint 和 tinyint的区别与长度
- mysql load data 导出、导入 csv
- source命令执行SQL脚本文件
- JavaScript演示排序算法
- 2015-2016网页设计趋势分析 Web Design of Trends
- JSP/PHP基于Ajax的分页功能实现
- MySQL创建用户及权限控制
- MySQL管理数据表
- linux下mysql添加用户
- mysql procedure
- mysql触发器
- 关于PHP通过PDO用中文条件查询MySQL的问题。