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 相关文章推荐
jquery 指南/入门基础
Nov 30 Javascript
原生JS可拖动弹窗效果实例代码
Nov 09 Javascript
JavaScript中跨域调用Flash的方法
Aug 11 Javascript
JavaScript中判断变量是数组、函数或是对象类型的方法
Feb 25 Javascript
javascript 用函数实现继承详解
May 28 Javascript
Bootstrap基本组件学习笔记之按钮组(8)
Dec 07 Javascript
JavaScript实现修改伪类样式
Nov 27 Javascript
用vuex写了一个购物车H5页面的示例代码
Dec 04 Javascript
vue3.0中的双向数据绑定方法及优缺点
Aug 01 Javascript
vue中获取滚动table的可视页面宽度调整表头与列对齐(每列宽度不都相同)
Aug 17 Javascript
详解为什么Vue中不要用index作为key(diff算法)
Apr 04 Javascript
JS使用Chrome浏览器实现调试线上代码
Jul 23 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和MySql中计算时间差的方法
2011/04/22 PHP
我的php学习笔记(毕业设计)
2012/02/21 PHP
PHP时间戳与日期之间转换的实例介绍
2013/04/19 PHP
PHP图片上传代码
2013/11/04 PHP
php数组键名技巧小结
2015/02/17 PHP
基于ThinkPHP+uploadify+upload+PHPExcel 无刷新导入数据
2015/09/23 PHP
thinkphp5 模型实例化获得数据对象的教程
2019/10/18 PHP
javascript与CSS复习(二)
2010/06/29 Javascript
javascript中定义类的方法汇总
2014/12/28 Javascript
JavaScript通过this变量快速找出用户选中radio按钮的方法
2015/03/23 Javascript
基于JQuery实现分隔条的功能
2016/06/17 Javascript
jQuery删除节点用法示例(remove方法)
2016/09/08 Javascript
vue按需引入element Transfer 穿梭框
2017/09/30 Javascript
ES6/JavaScript使用技巧分享
2017/12/14 Javascript
浅谈Webpack多页应用HMR卡住问题
2019/04/24 Javascript
Vue实现商品详情页的评价列表功能
2019/09/04 Javascript
解决qrcode.js生成二维码时必须定义一个空div的问题
2020/07/09 Javascript
vue递归获取父元素的元素实例
2020/08/07 Javascript
Python实现文件复制删除
2016/04/19 Python
EM算法的python实现的方法步骤
2018/01/02 Python
python中找出numpy array数组的最值及其索引方法
2018/04/17 Python
Python 使用 Pillow 模块给图片添加文字水印的方法
2019/08/30 Python
浅谈pytorch池化maxpool2D注意事项
2020/02/18 Python
python 如何调用远程接口
2020/09/11 Python
CSS3 实现弹幕的示例代码
2017/08/07 HTML / CSS
John Hardy官方网站:手工设计首饰的奢侈品牌
2017/07/05 全球购物
荟萃全球保健品:维他购
2018/05/09 全球购物
澳大利亚在线高跟鞋商店:Shoe Me
2019/11/19 全球购物
名人演讲稿范文
2013/12/28 职场文书
项目计划书范文
2014/01/09 职场文书
企业文化建设实施方案
2014/03/22 职场文书
励志演讲稿800字
2014/08/21 职场文书
学校领导班子群众路线整改措施
2014/09/16 职场文书
护士求职自荐信范文
2015/03/04 职场文书
小学语文教师研修感悟
2015/11/18 职场文书
高一化学教学反思
2016/02/22 职场文书