- 浏览: 444765 次
- 性别:
- 来自: 茂名
-
文章分类
最新评论
-
zenmshuo:
不错不错,总结的很详细,不知道这个控件和FlexGrid比起来 ...
jQuery EasyUI教程之datagrid应用(三) -
我是你们的爹:
文章里太多错误了,容易误导新手
jQuery EasyUI教程之datagrid应用(三) -
我是你们的爹:
...
jQuery EasyUI教程之datagrid应用(一) -
zhehen123:
你傻啊,json_decode后面跟一个参数就可以转成普通数组 ...
如何将PHP对象数组转换成普通数组? -
lai3221:
hegz,为什么做了没有任何效果呢?
jQuery EasyUI教程之datagrid应用(二)
开发
系统
时,JavaScript树形菜单组件dTree经
常要用到,为了方便使用,我将其封装成了一个 PHP
函数
。
这样,只要控制传入的菜单数据
,即可动态创建菜单树。
大家也可参看我的《Qee开源社区》论坛贴:http://qeephp.com/bbs/viewthread.php?tid=8468&highlight=dtree
1、dTree的下载
:
http://destroydrop.com/javascripts/tree/
/** * menu -- dTree 树形菜单函数 * * @param array $menus // 菜单数据(数组) * 菜单数据样板: * $menus = array( * array('menu_id' => 0, 'parent_id' => -1, 'name' => '首页'), * array('menu_id' => 1, 'parent_id' => 0, 'name' => 'Node 1'), * array('menu_id' => 2, 'parent_id' => 0, 'name' => 'Node 2', 'url' => 'example01.html'), * array('menu_id' => 3, 'parent_id' => 1, 'name' => 'Node 1.1'), * array('menu_id' => 4, 'parent_id' => 0, 'name' => 'Node 3', 'url' => 'example01.html'), * array('menu_id' => 5, 'parent_id' => 3, 'name' => 'Node 1.1.1'), * array('menu_id' => 6, 'parent_id' => 5, 'name' => 'Node 1.1.1.1', 'url' => 'example01.html'), * array('menu_id' => 7, 'parent_id' => 0, 'name' => 'Node 4', 'url' => 'example01.html'), * array('menu_id' => 8, 'parent_id' => 1, 'name' => 'Node 1.2', 'url' => 'example01.html'), * array('menu_id' => 9, 'parent_id' => 0, 'name' => 'My Pictures', 'title' => 'Pictures I\'ve taken over the years','','','img/imgfolder.gif'), * array('menu_id' => 10, 'parent_id' => 9, 'name' => 'The trip to Iceland', 'url' => 'example01.html', 'title' => 'Pictures of Gullfoss and Geysir'), * array('menu_id' => 11, 'parent_id' => 9, 'name' => 'Mom\'s birthday', 'url' => 'example01.html'), * array('menu_id' => 12, 'parent_id' => 0, 'name' => 'Recycle Bin', 'url' => 'example01.html', 'icon' => 'img/trash.gif'), * ); * menu_id: 表示当前节点的ID * parent_id: 表示当前节点的父节点的ID,根节点的值为 -1 * name: 节点要显示的文字 * url: 节点的Url * title: 鼠标移至该节点时节点的提示文本 * target: 点击节点时,在目标窗口打开链接,可以是 _blank,_parent,_self,_top,甚至 mainFrame * icon: 用做节点关闭时的图标,节点没有指定图标时使用默认值 * iconOpen: 用做节点打开时的图标,节点没有指定图标时使用默认值 * open: 节点的默认打开状态,true打开,false关闭(不过它会读cookie, 所以有时看不出效果) * 说明: menu_id、parent_id、name 三个参数为必需,不能忽略 * * @param array $confOpts // dTree 配置选项参数(数组) * $opts = array( * 'target' => 'true'|string, // 指定所有节点在新窗口中打开链接,默认为 true * 'folderLinks' => 'true', // 文件夹可链接,默认为 true * 'useSelection' => 'true', // 节点被选择时高亮显示,默认为 true * 'useCookies' => 'true', // 用Cookies保存树的当前状态,默认为 true * 'useLines' => 'true', // 创建带线的树,默认为 true * 'useIcons' => 'true', // 创建带有图标的树,默认为 true * 'useStatusText' => 'false', // 在底部的状态栏中显示节点名还是显示节点的url,默认为 false * 'closeSameLevel' => 'false', // 同级节点树只能展开一个,默认为 false * 'inOrder' => 'false', // 如果父级节点总是添加在子级节点之前,使用这个参数可以加速菜单显示,默认为 false * ); * * @return JavaScript 脚本代码 * * 使用方法: * * 1、在网页模版的<head></head>中插入下面代码: * * <head> * <link rel="StyleSheet" href="dtree.css" type="text/css" /> * <script type="text/javascript" src="dtree.js"></script> * </head> * * 2、在<body></body>中要显示菜单的地方,加入下面代码: * * <body> * <?php * $menus = array( ... ); * $opts = array( ... ); * echo menu($menus, $opts); * ?> * </body> * * @update:2009/08/09 * @author hegz * */ function menu(& $menus, $confOpts = null) { //$opts = array('target', 'folderLinks', 'useSelection', 'useCookies', 'useLines', 'useIcons', 'useStatusText', 'closeSameLevel', 'inOrder'); $output = ''; $output .= "<div class=\"dtree\">\n"; $output .= "<p><a href=\"javascript: d.openAll();\">全部展开</a> | <a href=\"javascript: d.closeAll();\">全部折叠</a></p>\n"; $output .= "<script type=\"text/javascript\">\n"; $output .= "<!--\n\n"; $output .= "d = new dTree('d');\n\n"; /** * 设置 dTree 配置选项值 */ if (isset($confOpts['target'])) { $output .= "d.config.target = {$confOpts['target']};\n"; } else { $output .= "d.config.target = true;\n"; } if (isset($confOpts['folderLinks'])) { $output .= "d.config.folderLinks = {$confOpts['folderLinks']};\n"; } else { $output .= "d.config.folderLinks = true;\n"; } if (isset($confOpts['useSelection'])) { $output .= "d.config.useSelection = {$confOpts['useSelection']};\n"; } else { $output .= "d.config.useSelection = true;\n"; } if (isset($confOpts['useCookies'])) { $output .= "d.config.useCookies = {$confOpts['useCookies']};\n"; } else { $output .= "d.config.useCookies = true;\n"; } if (isset($confOpts['useLines'])) { $output .= "d.config.useLines = {$confOpts['useLines']};\n"; } else { $output .= "d.config.useLines = true;\n"; } if (isset($confOpts['useIcons'])) { $output .= "d.config.useIcons = {$confOpts['useIcons']};\n"; } else { $output .= "d.config.useIcons = true;\n"; } if (isset($confOpts['useStatusText'])) { $output .= "d.config.useStatusText = {$confOpts['useStatusText']};\n"; } else { $output .= "d.config.useStatusText = false;\n"; } if (isset($confOpts['closeSameLevel'])) { $output .= "d.config.closeSameLevel = {$confOpts['closeSameLevel']};\n"; } else { $output .= "d.config.closeSameLevel = false;\n"; } if (isset($confOpts['inOrder'])) { $output .= "d.config.inOrder = {$confOpts['inOrder']};\n"; } else { $output .= "d.config.inOrder = false;\n\n"; } // 添加菜单 foreach ($menus as $menu) { if (!isset($menu['menu_id']) || !isset($menu['parent_id']) || !isset($menu['name'])) { //js_alert('传入的菜单数据项 menu_id、parent_id 或 name 可能不存在。'); echo '传入的菜单数据项 menu_id、parent_id 或 name 可能不存在。'; return false; } if (!isset($menu['url']) && !isset($menu['title']) && !isset($menus['target']) && !isset($menu['icon']) && !isset($menu['iconOpen']) && !isset($menu['open'])) { $output .= "d.add({$menu['menu_id']}, {$menu['parent_id']}, \"{$menu['name']}\");\n"; } else { if (!isset($menu['title']) && !isset($menus['target']) && !isset($menu['icon']) && !isset($menu['iconOpen']) && !isset($menu['open'])) { $output .= "d.add({$menu['menu_id']}, {$menu['parent_id']}, \"{$menu['name']}\", \"{$menu['url']}\");\n"; } else { if (!isset($menus['target']) && !isset($menu['icon']) && !isset($menu['iconOpen']) && !isset($menu['open'])) { if (!isset($menu['url'])) { $menu['url'] = ''; } $output .= "d.add({$menu['menu_id']}, {$menu['parent_id']}, \"{$menu['name']}\", \"{$menu['url']}\", \"{$menu['title']}\");\n"; } else { if (!isset($menu['icon']) && !isset($menu['iconOpen']) && !isset($menu['open'])) { if (!isset($menu['url'])) { $menu['url'] = ''; } if (!isset($menu['title'])) { $menu['title'] = ''; } $output .= "d.add({$menu['menu_id']}, {$menu['parent_id']}, \"{$menu['name']}\", \"{$menu['url']}\", \"{$menu['title']}\", '{$menu['target']}');\n"; } else { if (!isset($menu['iconOpen']) && !isset($menu['open'])) { if (!isset($menu['url'])) { $menu['url'] = ''; } if (!isset($menu['title'])) { $menu['title'] = ''; } if (!isset($menus['target'])) { $menu['target'] = ''; } $output .= "d.add({$menu['menu_id']}, {$menu['parent_id']}, \"{$menu['name']}\", \"{$menu['url']}\", \"{$menu['title']}\", '{$menu['target']}', '{$menu['icon']}');\n"; } else { if (!isset($menu['open'])) { if (!isset($menu['url'])) { $menu['url'] = ''; } if (!isset($menu['title'])) { $menu['title'] = ''; } if (!isset($menus['target'])) { $menu['target'] = ''; } if (!isset($menu['icon'])) { $menu['icon'] = ''; } $output .= "d.add({$menu['menu_id']}, {$menu['parent_id']}, \"{$menu['name']}\", \"{$menu['url']}\", \"{$menu['title']}\", '{$menu['target']}', '{$menu['icon']}', '{$menu['iconOpen']}');\n"; } else { if (!isset($menu['url'])) { $menu['url'] = ''; } if (!isset($menu['title'])) { $menu['title'] = ''; } if (!isset($menus['target'])) { $menu['target'] = ''; } if (!isset($menu['icon'])) { $menu['icon'] = ''; } if (!isset($menu['iconOpen'])) { $menu['iconOpen'] = ''; } $output .= "d.add({$menu['menu_id']}, {$menu['parent_id']}, \"{$menu['name']}\", \"{$menu['url']}\", \"{$menu['title']}\", '{$menu['target']}', '{$menu['icon']}', '{$menu['iconOpen']}', '{$menu['open']}');\n"; } } } } } } } // 创建菜单树 $output .= "\ndocument.write(d);\n\n"; $output .= "//-->\n"; $output .= "</script>\n"; $output .= "</div>\n"; return $output; } ?>
效果图:
参数说明及使用方法如下:
/** * menu -- dTree 树形菜单函数 * * @param array $menus // 菜单数据(数组) * 菜单数据样板: * $menus = array( * array('menu_id' => 0, 'parent_id' => -1, 'name' => '首页'), * array('menu_id' => 1, 'parent_id' => 0, 'name' => 'Node 1'), * array('menu_id' => 2, 'parent_id' => 0, 'name' => 'Node 2', 'url' => 'example01.html'), * array('menu_id' => 3, 'parent_id' => 1, 'name' => 'Node 1.1'), * array('menu_id' => 4, 'parent_id' => 0, 'name' => 'Node 3', 'url' => 'example01.html'), * array('menu_id' => 5, 'parent_id' => 3, 'name' => 'Node 1.1.1'), * array('menu_id' => 6, 'parent_id' => 5, 'name' => 'Node 1.1.1.1', 'url' => 'example01.html'), * array('menu_id' => 7, 'parent_id' => 0, 'name' => 'Node 4', 'url' => 'example01.html'), * array('menu_id' => 8, 'parent_id' => 1, 'name' => 'Node 1.2', 'url' => 'example01.html'), * array('menu_id' => 9, 'parent_id' => 0, 'name' => 'My Pictures', 'title' => 'Pictures I\'ve taken over the years','','','img/imgfolder.gif'), * array('menu_id' => 10, 'parent_id' => 9, 'name' => 'The trip to Iceland', 'url' => 'example01.html', 'title' => 'Pictures of Gullfoss and Geysir'), * array('menu_id' => 11, 'parent_id' => 9, 'name' => 'Mom\'s birthday', 'url' => 'example01.html'), * array('menu_id' => 12, 'parent_id' => 0, 'name' => 'Recycle Bin', 'url' => 'example01.html', 'icon' => 'img/trash.gif'), * ); * menu_id: 表示当前节点的ID * parent_id: 表示当前节点的父节点的ID,根节点的值为 -1 * name: 节点要显示的文字 * url: 节点的Url * title: 鼠标移至该节点时节点的提示文本 * target: 点击节点时,在目标窗口打开链接,可以是 _blank,_parent,_self,_top,甚至 mainFrame * icon: 用做节点关闭时的图标,节点没有指定图标时使用默认值 * iconOpen: 用做节点打开时的图标,节点没有指定图标时使用默认值 * open: 节点的默认打开状态,true打开,false关闭(不过它会读cookie, 所以有时看不出效果) * 说明: menu_id、parent_id、name 三个参数为必需,不能忽略 * * @param array $confOpts // dTree 配置选项参数(数组) * $opts = array( * 'target' => 'true'|string, // 指定所有节点在新窗口中打开链接,默认为 true * 'folderLinks' => 'true', // 文件夹可链接,默认为 true * 'useSelection' => 'true', // 节点被选择时高亮显示,默认为 true * 'useCookies' => 'true', // 用Cookies保存树的当前状态,默认为 true * 'useLines' => 'true', // 创建带线的树,默认为 true * 'useIcons' => 'true', // 创建带有图标的树,默认为 true * 'iconPath' => '' // 设置图标路径,默认为空 * 'useStatusText' => 'false', // 在底部的状态栏中显示节点名还是显示节点的url,默认为 false * 'closeSameLevel' => 'false', // 同级节点树只能展开一个,默认为 false * 'inOrder' => 'false', // 如果父级节点总是添加在子级节点之前,使用这个参数可以加速菜单显示,默认为 false * ); * * @return JavaScript 脚本代码 * * 使用方法: * * 1、在网页模版的<head></head>中插入下面代码: * * <head> * <link rel="StyleSheet" href="dtree.css" type="text/css" /> * <script type="text/javascript" src="dtree.js"></script> * </head> * * 2、在<body></body>中要显示菜单的地方,加入下面代码: * * <body> * <?php * require('dtreemenu.php'); * $menus = array( ... ); * $opts = array( ... ); * echo menu($menus, $opts); * ?> * </body> * * @update:2009/09/6 * @author hegz * */
- dtree.zip (21.4 KB)
- 描述: 内含test.php
- 下载次数: 127
- dtreemenu.zip (2.6 KB)
- 描述: dtree菜单函数文件
- 下载次数: 79
- test.zip (3 KB)
- 描述: 测试文件
- 下载次数: 72
发表评论
-
如何将PHP对象数组转换成普通数组?
2014-03-18 16:54 19049如何将PHP对象数组转换成普通数组? 在利用j ... -
拼音字典
2010-10-25 10:39 1329本人开发系统时用到的汉字转拼音代码: ... -
阿拉伯数字金额转大写人民币
2010-05-23 17:06 1435/** * 阿拉伯数字金额转大写人民币 * 最大 ... -
mb_convert_encoding函数使用方法介绍
2010-04-06 20:23 15496mb_convert_encoding 函数 ... -
中文字符串截取(支持gb2312、gbk、utf-8、big5)
2010-03-30 00:28 1451/* * 中文字符串截取,支持gb2312 ... -
左右值无限分类实现算法
2010-03-30 00:21 2608文章来源:http://bbs.phpchina.co ... -
开发非税代收系统部分功能代码
2010-03-30 00:05 1273将自己开发的功能代码保存在此,一是方便以后重用,二更是为了防防 ... -
自用代码[JSON编解码、日期校验]
2010-03-29 23:48 1630/** * 將数组转换成json格式数据 ...
相关推荐
一、项目简介 包含:项目源码、数据库脚本等,该项目附带全部源码可作为毕设使用。 项目都经过严格调试,eclipse或者idea 确保可以运行! 该系统功能完善、界面美观、操作简单、功能齐全、管理便捷 二、技术实现 jdk版本:1.8 及以上 ide工具:IDEA或者eclipse 数据库: mysql5.5及以上 后端:spring+springboot+mybatis+maven+mysql 前端: vue , css,js , elementui 三、系统功能 1、系统角色主要包括:管理员、用户 2、系统功能 前台功能包括: 用户登录 车位展示 系统推荐车位 立即预约 公告展示 个人中心 车位预定 违规 余额充值 后台功能: 首页,个人中心,修改密码,个人信息 用户管理 管理员管理 车辆管理 车位管理 车位预定管理,统计报表 公告管理 违规管理 公告类型管理 车位类型管理 车辆类型管理 违规类型管理 轮播图管理 详见 https://flypeppa.blog.csdn.net/article/details/146122666
项目已获导师指导并通过的高分毕业设计项目,可作为课程设计和期末大作业,下载即用无需修改,项目完整确保可以运行。 包含:项目源码、数据库脚本、软件工具等,该项目可以作为毕设、课程设计使用,前后端代码都在里面。 该系统功能完善、界面美观、操作简单、功能齐全、管理便捷,具有很高的实际应用价值。 项目都经过严格调试,确保可以运行!可以放心下载 技术组成 语言:java 开发环境:idea 数据库:MySql 部署环境:maven 数据库工具:navica 更多毕业设计https://cv2022.blog.csdn.net/article/details/124463185
内容为Python程序设计的思维导图,适用于新手小白进行浏览,理清思路
2024-Stable Diffusion全套资料(软件+关键词+模型).rar
mmexport1741417035005.png
COMSOL三维锂离子电池全耦合电化学热应力模型:模拟充放电过程中的多物理场耦合效应及电芯内应力应变情况,COMSOL锂离子电池热应力全耦合模型,comsol三维锂离子电池电化学热应力全耦合模型锂离子电池耦合COMSOL固体力学模块和固体传热模块,模型仿真模拟电池在充放电过程中由于锂插层,热膨胀以及外部约束所导致的电极的应力应变情况结果有电芯中集流体,电极,隔膜的应力应变以及压力情况等,电化学-力单向耦合和双向耦合 ,关键词: 1. COMSOL三维锂离子电池模型; 2. 电化学热应力全耦合模型; 3. 锂离子电池; 4. 固体力学模块; 5. 固体传热模块; 6. 应力应变情况; 7. 电芯中集流体; 8. 电极; 9. 隔膜; 10. 电化学-力单向/双向耦合。,COMSOL锂离子电池全耦合热应力仿真模型
基于传递矩阵法的一维层状声子晶体振动传输特性及其优化设计与应用,声子晶体传递矩阵法解析及应用,Matlab 一维层状声子晶体振动传输特性 传递矩阵法在声子晶体的设计和应用中具有重要作用。 通过调整声子晶体的材料、周期和晶格常数等参数,可以设计出具有特定带隙结构的声子晶体,用于滤波、减震、降噪等应用。 例如,通过调整声子晶体的周期数和晶格常数,可以改变带隙的位置和宽度,从而实现特定的频率范围内的噪声控制。 此外,传递矩阵法还可以用于分析和优化声子晶体的透射谱,为声学器件的设计提供理论依据。 ,Matlab; 一维层状声子晶体; 振动传输特性; 传递矩阵法; 材料调整; 周期和晶格常数; 带隙结构; 滤波; 减震; 降噪; 透射谱分析; 声学器件设计,Matlab模拟声子晶体振动传输特性及优化设计研究
头部姿态估计(HeadPose Estimation)-Android源码
永磁同步电机FOC、MPC与高频注入Simulink模型及基于MBD的代码生成工具,适用于Ti f28335与dspace/ccs平台开发,含电机控制开发文档,永磁同步电机控制技术:FOC、MPC与高频注入Simulink模型开发及应用指南,提供永磁同步电机FOC,MPC,高频注入simulink模型。 提供基于模型开发(MBD)代码生成模型,可结合Ti f28335进行电机模型快速开发,可适用dspace平台或者ccs平台。 提供电机控制开发编码器,转子位置定向,pid调试相关文档。 ,永磁同步电机; FOC控制; MPC控制; 高频注入; Simulink模型; 模型开发(MBD); Ti f28335; 电机模型开发; dspace平台; ccs平台; 编码器; 转子位置定向; pid调试。,永磁同步电机MPC-FOC控制与代码生成模型
light of warehouse.zip
内容概要:文章深入讨论了工业乙醇发酵的基本原理及工艺流程,特别是在温度和气体排放(如CO2及其他有害气体)影响下的发酵效果分析。文章介绍了乙醇发酵的重要环节,如糖分解、代谢路径、代谢调控以及各阶段的操作流程,重点展示了如何通过Matlab建模和仿真实验来探索这两个关键环境因素对发酵过程的具体影响。通过动态模型仿真分析,得出合适的温度范围以及适时排除CO2能显著提升发酵产乙醇的效果与效率,从而提出了基于仿真的优化发酵生产工艺的新方法。 适用人群:从事生物工程相关领域研究的科学家、工程师及相关专业师生。 使用场景及目标:适用于实验室环境、学术交流会议及实际生产指导中,以提升研究人员对该领域内复杂现象的理解能力和技术水平为目标。 其他说明:附录中有详细的数学公式表达和程序代码可供下载执行,便于有兴趣的研究团队重复实验或者继续扩展研究工作。
本资源包专为解决 Tomcat 启动时提示「CATALINA_HOME 环境变量未正确配置」问题而整理,包含以下内容: 1. **Apache Tomcat 9.0.69 官方安装包**:已验证兼容性,解压即用。 2. **环境变量配置指南**: - Windows 系统下 `CATALINA_HOME` 和 `JAVA_HOME` 的详细配置步骤。 - 常见错误排查方法(如路径含空格、未生效问题)。 3. **辅助工具脚本**:一键检测环境变量是否生效的批处理文件。 4. **解决方案文档**:图文并茂的 PDF 文档,涵盖从报错分析到成功启动的全流程。 适用场景: - Tomcat 9.x 版本环境配置 - Java Web 开发环境搭建 - 运维部署调试 注意事项: - 资源包路径需为纯英文,避免特殊字符。 - 建议使用 JDK 8 或更高版本。
这是一款仿照京东商城的Java Web项目源码,完美复现了360buy的用户界面和购物流程,非常适合Java初学者和开发者进行学习与实践。通过这份源码,你将深入了解电商平台的架构设计和实现方法。欢迎大家下载体验,提升自己的编程能力!
系统选用B/S模式,后端应用springboot框架,前端应用vue框架, MySQL为后台数据库。 本系统基于java设计的各项功能,数据库服务器端采用了Mysql作为后台数据库,使Web与数据库紧密联系起来。 在设计过程中,充分保证了系统代码的良好可读性、实用性、易扩展性、通用性、便于后期维护、操作方便以及页面简洁等特点。
这是一款专为大学生打造的求职就业网JavaWeb毕业设计源码,功能齐全,界面友好。它提供简历投递、职位搜索、在线交流等多种实用功能,能够帮助你顺利进入职场。无论你是想提升技术水平还是寻找灵感,这个源码都是不可多得的资源。快来下载,让你的求职之路更加顺畅吧!
useTable(1).ts
实验一: 1、进行CCS6.1软件的安装,仿真器的设置,程序的编译和调试; 2、熟悉CCS软件中的C语言编程; 3、使用按键控制LED跑马灯的开始与停止、闪烁频率; 4、调试Convolution、FFT、FIR、FFT-FIR实验,编制IIR算法并调试,并在CCS软件上给出实验结果。 实验二: 1、利用定时器周期中断或下溢中断和比较器比较值的修改来实现占空比可调的PWM波形; 2、改变PWM占空比控制LED灯的亮暗,按键实现10级LED灯亮暗调整; 3、模拟数字转换,转换过程中LED指示,并在变量窗口显示转换结果; 4、数字模拟转换,产生一个正弦波,转换过程中LED指示,转换完成后在CCS调试窗口显示波形。 实验三: 1、SCI异步串行通信实验; 2、SPI及IIC同步串行通信实验; 3、CAN现场总线串行通信实验; 4、传输过程中LED指示。 实验四: 1、电机转速控制实验。
LINUX系统管理与配置.docx
chromedriver-mac-x64-136.0.7055.0.zip