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 相关文章推荐
在IE模态窗口中自由查看HTML源码的方法
Mar 08 Javascript
JS 动态加载脚本的4种方法
May 05 Javascript
node.js中module.exports与exports用法上的区别
Sep 02 Javascript
js正则表达式注册页面表单验证
Oct 11 Javascript
jQuery通过改变input的type属性实现密码显示隐藏切换功能
Feb 08 Javascript
Node.js搭建小程序后台服务
Jan 03 Javascript
JSON数据中存在单个转义字符“\”的处理方法
Jul 11 Javascript
微信小程序实现tab页面切换功能
Jul 13 Javascript
vue 监听键盘回车事件详解 @keyup.enter || @keyup.enter.native
Aug 25 Javascript
angular 未登录状态拦截路由跳转的方法
Oct 09 Javascript
node中使用log4js4.x版本记录日志的方法
Aug 20 Javascript
深入分析jQuery.one() 函数
Jun 03 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
乱谈我对耳机、音箱的感受
2021/03/02 无线电
E路文章系统PHP
2006/12/11 PHP
php 变量未定义等错误的解决方法
2011/01/12 PHP
探讨PHP中OO之静态关键字以及类常量的详解
2013/06/07 PHP
使用Appcan客户端自动更新PHP版本号(全)
2015/07/31 PHP
PHP有序表查找之插值查找算法示例
2018/02/10 PHP
jquery插件jbox使用iframe关闭问题
2009/02/09 Javascript
js运动框架_包括图片的淡入淡出效果
2013/05/11 Javascript
JQuery设置和去除disabled属性的5种方法总结
2013/05/16 Javascript
jQuery实现首页顶部可伸缩广告特效代码
2015/04/15 Javascript
JavaScript数据库TaffyDB用法实例分析
2015/07/27 Javascript
jQuery链式操作实例分析
2015/11/16 Javascript
javascript基础语法——全面理解变量和标识符
2016/06/02 Javascript
js仿支付宝多方框输入支付密码效果
2016/09/27 Javascript
详解为Angular.js内置$http服务添加拦截器的方法
2016/12/20 Javascript
Bootstrap源码解读按钮(5)
2016/12/23 Javascript
jQuery插件FusionCharts绘制的2D帕累托图效果示例【附demo源码】
2017/03/28 jQuery
实现一个完整的Node.js RESTful API的示例
2017/09/29 Javascript
纯JavaScript实现实时反馈系统时间
2017/10/26 Javascript
JS写XSS cookie stealer来窃取密码的步骤详解
2017/11/20 Javascript
原生JS forEach()和map()遍历的区别、兼容写法及jQuery $.each、$.map遍历操作
2019/02/27 jQuery
说说Vuex的getters属性的具体用法
2019/04/15 Javascript
vue3 源码解读之 time slicing的使用方法
2019/10/31 Javascript
JS字符串和数组如何实现相互转化
2020/07/02 Javascript
vue实现登录、注册、退出、跳转等功能
2020/12/23 Vue.js
Mac下Supervisor进程监控管理工具的安装与配置
2014/12/16 Python
Python与shell的3种交互方式介绍
2015/04/11 Python
python2和python3应该学哪个(python3.6与python3.7的选择)
2019/10/01 Python
python super用法及原理详解
2020/01/20 Python
Python使用tkinter实现摇骰子小游戏功能的代码
2020/07/02 Python
HTML5 解析规则分析
2009/08/14 HTML / CSS
关于h5中的fetch方法解读(小结)
2017/11/15 HTML / CSS
捐赠仪式主持词
2014/03/19 职场文书
超越自我演讲稿
2014/05/21 职场文书
2014年幼儿园园务工作总结
2014/12/05 职场文书
2015年入党决心书
2015/02/05 职场文书