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 相关文章推荐
javascript TextArea动态显示剩余字符
Oct 22 Javascript
script不刷新页面的联动前后代码
Sep 18 Javascript
排序算法的javascript实现与讲解(99js手记)
Sep 28 Javascript
微信小程序 Video API实例详解
Oct 02 Javascript
js判断用户是输入的地址请求的路径(实例讲解)
Jul 18 Javascript
使用nvm管理不同版本的node与npm的方法
Oct 31 Javascript
vue和webpack安装命令详解
Jun 15 Javascript
解决ng-repeat产生的ng-model中取不到值的问题
Oct 02 Javascript
基于Vue SEO的四种方案(小结)
Jul 01 Javascript
微信小程序图片自适应实现解析
Jan 21 Javascript
vue 避免变量赋值后双向绑定的操作
Nov 07 Javascript
canvas实现贪食蛇的实践
Feb 15 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
超神学院:鹤熙已踏入神圣领域,实力不比凯莎弱
2020/03/02 国漫
杏林同学录(六)
2006/10/09 PHP
php懒人函数 自动添加数据
2011/06/28 PHP
一个PHP的ZIP压缩类分享
2014/05/04 PHP
php调用新浪短链接API的方法
2014/11/08 PHP
遍历指定目录,并存储目录内所有文件属性信息的php代码
2016/10/28 PHP
javascript面向对象之二 命名空间
2011/02/08 Javascript
javascript 中String.match()与RegExp.exec()的区别说明
2013/01/10 Javascript
js判断元素是否隐藏的方法
2014/06/09 Javascript
jquery代码实现多选、不同分享功能
2015/07/31 Javascript
Jquery全屏相册插件zoomvisualizer具有调节放大与缩小功能
2015/11/02 Javascript
Sort()函数的多种用法
2016/03/20 Javascript
原生js实现jquery函数animate()动画效果的简单实例
2016/08/21 Javascript
学习 NodeJS 第八天:Socket 通讯实例
2016/12/21 NodeJs
vue resource post请求时遇到的坑
2017/10/19 Javascript
electron制作仿制qq聊天界面的示例代码
2018/11/26 Javascript
element-ui如何防止重复提交的方法步骤
2019/12/09 Javascript
js实现简单音乐播放器
2020/06/30 Javascript
Vue父子之间值传递的实例教程
2020/07/02 Javascript
Python做简单的字符串匹配详解
2017/03/21 Python
Python中摘要算法MD5,SHA1简介及应用实例代码
2018/01/09 Python
Python多进程原理与用法分析
2018/08/21 Python
Python玩转Excel的读写改实例
2019/02/22 Python
python爬虫 爬取58同城上所有城市的租房信息详解
2019/07/30 Python
解决django-xadmin列表页filter关联对象搜索问题
2019/11/15 Python
Python+numpy实现矩阵的行列扩展方式
2019/11/29 Python
Python实现银行账户资金交易管理系统
2020/01/03 Python
一款纯css3实现的颜色渐变按钮的代码教程
2014/11/12 HTML / CSS
高中生学习的自我评价
2013/12/14 职场文书
信息专业学生学习的自我评价
2014/02/17 职场文书
温馨提示标语
2014/06/26 职场文书
关于工作时间玩手机的检讨书
2014/09/18 职场文书
服务整改报告
2014/11/06 职场文书
医院消毒隔离制度
2015/08/05 职场文书
送给教师们,到底该如何写好教学反思?
2019/07/02 职场文书
原生JS中应该禁止出现的写法
2021/05/05 Javascript