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 通过事件委派一次绑定多种事件,以减少事件冗余
Jun 30 Javascript
纯js网页画板(Graphics)类简介及实现代码
Dec 24 Javascript
调试代码导致IE出错的避免方法
Apr 04 Javascript
javascript制作的简单注册模块表单验证
Apr 13 Javascript
3种不同的ContextMenu右键菜单实现代码
Nov 03 Javascript
详解Node.js实现301、302重定向服务
Apr 07 Javascript
小发现之浅谈location.search与location.hash的问题
Jun 23 Javascript
js使用highlight.js高亮你的代码
Aug 18 Javascript
jquery.pagination.js分页使用教程
Oct 23 jQuery
vue实现购物车抛物线小球动画效果的方法详解
Feb 13 Javascript
详解javascript中var与ES6规范中let、const区别与用法
Jan 11 Javascript
jquery实现淡入淡出轮播图效果
Dec 13 jQuery
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
GD输出汉字的函数的分析
2006/10/09 PHP
PHP中创建和验证哈希的简单方法实探
2015/07/06 PHP
基于jQuery的淡入淡出可自动切换的幻灯插件
2010/08/24 Javascript
给应用部分的js代码设定一个统一的入口
2014/06/15 Javascript
JavaScript判断文件上传类型的方法
2014/09/02 Javascript
javascript实现网页屏蔽Backspace事件,输入框不屏蔽
2015/07/21 Javascript
在原生不支持的旧环境中添加兼容的Object.keys实现方法
2017/09/11 Javascript
javascript  删除select中的所有option的实例
2017/09/17 Javascript
jQuery中过滤器的基本用法示例
2017/10/11 jQuery
vue.js编译时给生成的文件增加版本号
2018/09/17 Javascript
微信小程序实现图片上传
2019/05/23 Javascript
微信小程序实现写入读取缓存详解
2019/08/30 Javascript
浅谈vue中组件绑定事件时是否加.native
2019/11/09 Javascript
js中Function引用类型常见有用的方法和属性详解
2019/12/11 Javascript
vue项目接口域名动态获取操作
2020/08/13 Javascript
python用于url解码和中文解析的小脚本(python url decoder)
2013/08/11 Python
通过python+selenium3实现浏览器刷简书文章阅读量
2017/12/26 Python
Python常见内置高效率函数用法示例
2018/07/31 Python
python正则表达式匹配[]中间为任意字符的实例
2018/12/25 Python
在Python中获取操作系统的进程信息
2019/08/27 Python
使用浏览器访问python写的服务器程序
2019/10/10 Python
游戏商店:Eneba
2020/04/25 全球购物
在Ajax应用中信息是如何在浏览器和服务器之间传递的
2016/05/31 面试题
个人评价范文分享
2014/01/11 职场文书
运动会入场词60字
2014/02/15 职场文书
寄语学生的话
2014/04/10 职场文书
《画风》教学反思
2014/04/16 职场文书
创业融资计划书
2014/04/25 职场文书
国际商务专业求职信
2014/07/15 职场文书
党的群众路线对照检查材料范文
2014/09/24 职场文书
2015年医务人员医德医风自我评价
2015/03/03 职场文书
情侣之间的道歉短信
2015/05/12 职场文书
2015年服务员个人工作总结
2015/05/27 职场文书
八一建军节主持词
2015/07/01 职场文书
2016年优秀少先队员事迹材料
2016/02/26 职场文书
2019广播稿怎么写
2019/04/17 职场文书