jquery 无限级联菜单案例分享


Posted in Javascript onMarch 26, 2013

看到phpcms的地区级联菜单,感觉写的挺有意思,就说说大致步骤,省得忘了。

对于地区级联菜单的生成一般是在/data/cache_model/content_form.class.php文件的areaid()函数中。不过,这个只是一个cache至于什么地方生成还不没找到,所以暂时作为一个测试。(知道的同学告诉我哈!十分感谢)

在areaid()的$js中添加

function delChild(num) 
{ 
$('#load_$field select').each(function(i,obj){ 
if(obj.id >num) 
$('#'+obj.id).remove(); 
}) 
}

对应的,在/load.php中elseif($field == 'areaid' && $value)修改
$str = 
'<select id="'.$id.'" 
onchange="delChild('.$id.');$(\'#'.$value.'\').val(this.value);this.disabled=false;area_load(this.value);"><option 
value="1">'.$LANG['please_select'].'</option>';

就能去掉"选定地区后不能更改"的效果,并且当没有下级地名时不会删除多余的选择框。
传统的级联菜单呢,个人觉得传输数据相对较大,而且和数据库的关联似乎不好,所以就不贴代码了。

方法二:

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.0/jquery.min.js"></script> 
<script type="text/javascript"> 
$(document).ready(function(){ 
$('.menu li').hover(function(){ 
$(this).children('ul').show(); 
$(this).focus().addClass('focusa') 
},function(){ 
$(this).children('ul').hide(); 
$(this).focus().removeClass('focusa'); 
}); 
}); 
</script> 
<style type="text/css"> 
ul{ list-style:none; margin:0; padding:0;} 
.menu { height:30px; line-height:30px; } 
.menu li { float:left; position:relative;} /*这一级是导航*/ 
.menu li a { display:block; height:30px; line-height:30px; padding:0 20px; } 
.menu li a:hover { color:#000; background:url(img/bg1.png); } 
.menu li a.more { background:url(img/there.png) no-repeat 130px center; } 
.menu li ul { position:absolute; float:left; width:150px; border:1px solid #000; display:none;} /*这是第二级菜单*/ 
.menu li ul a { width:110px; } 
.menu li ul a:hover { background:url(img/bg1.png);} 
.menu li ul ul{ top:0;left:150px;} /*从第三级菜单开始,所有的子级菜单都相对偏移*/ 
</style> 
<ul class="menu"> 
<li><a href="#">菜单一</a> 
<ul class="one"> 
<li><a href="#">菜单一</a></li> 
<li><a href="#">菜单二</a></li> 
<li><a href="#">菜单三</a></li> 
<li><a href="#">菜单四</a></li> 
<li><a href="#" class="more">菜单五</a> 
<ul class="two"> 
<li><a href="#">菜单一</a></li> 
<li><a href="#">菜单二</a></li> 
<li><a href="#">菜单三</a></li> 
<li><a href="#">菜单四</a></li> 
<li><a href="#" class="more">菜单五</a> 
<ul class="three"> 
<li><a href="#">菜单一</a></li> 
<li><a href="#">菜单二</a></li> 
<li><a href="#">菜单三</a></li> 
<li><a href="#">菜单四</a></li> 
<li><a href="#" class="more">菜单五</a> 
<ul class="four"> 
<li><a href="#">菜单一</a></li> 
<li><a href="#">菜单二</a></li> 
<li><a href="#">菜单三</a></li> 
<li><a href="#">菜单四</a></li> 
<li><a href="#">菜单五</a></li> 
</ul> 
</li> 
</ul> 
</li> 
</ul> 
</li> 
</ul> 
</li> 
<li><a href="#">菜单二</a> 
<ul class="one"> 
<li><a href="#">菜单一</a></li> 
<li><a href="#">菜单二</a></li> 
<li><a href="#" class="more">菜单三</a> 
<ul class="two"> 
<li><a href="#">菜单一</a></li> 
<li><a href="#">菜单二</a></li> 
<li><a href="#" class="more">菜单三</a> 
<ul class="three"> 
<li><a href="#">菜单一</a></li> 
<li><a href="#">菜单二</a></li> 
<li><a href="#">菜单三</a></li> 
<li><a href="#">菜单四</a></li> 
<li><a href="#">菜单五</a></li> 
</ul> 
</li> 
<li><a href="#">菜单四</a></li> 
</ul> 
</li> 
</ul> 
</li> 
<li><a href="#">菜单三</a></li> 
<li><a href="#">菜单四</a></li> 
<li><a href="#">菜单五</a> 
<ul class="one"> 
<li><a href="#">菜单一</a></li> 
<li><a href="#">菜单二</a></li> 
<li><a href="#">菜单三</a></li> 
</ul> 
</li> 
</ul>
Javascript 相关文章推荐
this[] 指的是什么内容 讨论
Mar 24 Javascript
基于jquery可配置循环左右滚动例子
Sep 09 Javascript
jquery.fileEveryWhere.js 一个跨浏览器的file显示插件
Oct 24 Javascript
jquery打开直接跳到网页最下面、最低端实现代码
Apr 22 Javascript
探讨javascript是不是面向对象的语言
Nov 21 Javascript
整理的比较全的event对像在ie与firefox浏览器中的区别
Nov 25 Javascript
js无刷新操作table的行和列
Mar 27 Javascript
基于JS实现的倒计时程序实例
Jul 24 Javascript
基于JQuery打造无缝滚动新闻步骤详解
Mar 31 Javascript
Bootstrap被封装的弹层
Jul 20 Javascript
vue中改变选中当前项的显示隐藏或者状态的实现方法
Feb 08 Javascript
解决Vue项目打包后打开index.html页面显示空白以及图片路径错误的问题
Oct 25 Javascript
JSON辅助格式化处理方法
Mar 26 #Javascript
html+css+js实现xp window界面及有关功能
Mar 26 #Javascript
jquery图片放大镜功能的实例代码
Mar 26 #Javascript
EditPlus注册码生成器(js代码实现)
Mar 25 #Javascript
本地图片预览(支持IE6/IE7/IE8/Firefox3)经验总结
Mar 25 #Javascript
JS上传前预览图片实例
Mar 25 #Javascript
js实现杯子倒水问题自动求解程序
Mar 25 #Javascript
You might like
PHP 实用代码收集
2010/01/22 PHP
PHP三层结构(上) 简单三层结构
2010/07/04 PHP
用php解析html的实现代码
2011/08/08 PHP
9个实用的PHP代码片段分享
2015/01/22 PHP
Thinkphp5.0自动生成模块及目录的方法详解
2017/04/17 PHP
PHP在同一域名下两个不同的项目做独立登录机制详解
2017/09/22 PHP
jQuery使用手册之三 CSS操作
2007/03/24 Javascript
[原创]站长必须要知道的javascript广告代码
2007/05/30 Javascript
jQuery的三种$()
2009/12/30 Javascript
Jquery 实现图片轮换
2015/01/28 Javascript
js实现鼠标感应向下滑动隐藏菜单的方法
2015/02/20 Javascript
基于javascript实现单选及多选的向右和向左移动实例
2015/07/25 Javascript
JQ实现新浪游戏首页幻灯片
2015/07/29 Javascript
你了解vue3.0响应式数据怎么实现吗
2019/06/07 Javascript
[01:20:38]完美世界DOTA2联赛 GXR vs IO 第一场 11.07
2020/11/09 DOTA
python中关于时间和日期函数的常用计算总结(time和datatime)
2013/03/08 Python
python实现的文件同步服务器实例
2015/06/02 Python
Python 自动化表单提交实例代码
2017/06/08 Python
解决Linux系统中python matplotlib画图的中文显示问题
2017/06/15 Python
浅析Python与Mongodb数据库之间的操作方法
2019/07/01 Python
Python OpenCV 调用摄像头并截图保存功能的实现代码
2019/07/02 Python
python对验证码降噪的实现示例代码
2019/11/12 Python
django商品分类及商品数据建模实例详解
2020/01/03 Python
PyCharm第一次安装及使用教程
2020/01/08 Python
Python3.7实现验证码登录方式代码实例
2020/02/14 Python
django 装饰器 检测登录状态操作
2020/07/02 Python
html5拖拽应用记录及注意点
2020/05/27 HTML / CSS
为娇小女性量身打造:Petite Studio
2018/11/01 全球购物
英国领先的酒杯和水晶玻璃器皿制造商:Dartington Crystal
2019/06/23 全球购物
你经历的项目中的SCM配置项主要有哪些?什么是配置项?
2013/11/04 面试题
村委会换届选举方案
2014/05/03 职场文书
整顿机关作风心得体会
2014/09/10 职场文书
教书育人演讲稿
2014/09/11 职场文书
个人学习党的群众路线教育实践活动心得体会
2014/11/05 职场文书
小学教师先进事迹材料
2014/12/15 职场文书
Python机器学习之基于Pytorch实现猫狗分类
2021/06/08 Python