jquery 初步实现树形菜单
2012-11-01 20:37:30 来源:WEB开发网核心提示: 贴代码: 15597_com.html <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&q
贴代码:
15597_com.html
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html> <head> <meta http-equiv="content-type" content="text/html; charset=utf-8" /> <title>ul2tree</title> <style type="text/css"> body{font-family:"微软雅黑" verdana} #div_tree{display:block; float:left; width:50%; } </style> <script type="text/javascript" src="../jquery-1.8.0.min.js" ></script> <script type="text/javascript" src="ul2tree.0.1.0.js" ></script> </head> <body> <div id="div_tree"> <ul> <li>第一条</li> <ul> <li>二级一条</li> <li>二级二条</li> <li>二级三条</li> </ul> <li>第二条</li> <ul> <li>第二条二级一</li> <ul> <li>三级一条</li> <li>三级二条</li> <ul> <li>三级一条</li> <li>三级二条</li> <li>三级三条</li> </ul> <li>三级三条</li> </ul> </ul> <li>第三条</li> <li>第四条</li> <ul> <li>二级一条</li> <li>二级二条</li> <li>二级三条</li> </ul> </ul> </div> <script type="text/javascript" > $(document).ready(function(){ $.ul2tree({ obj:$("#div_tree ul") }); }); </script> </body> </html>
ul2tree.0.1.0.js
/** * 将ul结构转化为树形菜单函数 * 待解决问题: * 1 列表最后一个线形图改为 L 形 * 2 可以选择带连接线或者不带连接线 * 3 增加文字点击函数 * 4 */ $.extend({ ul2tree:function(opt,callback){ // 默认参数 this.defaults = { obj :"", forderOpen :"images/folderOpen.gif", // 打开的文件夹图片 forderClosed :"images/folderClosed.gif", // 关闭的文件夹图片 fileImg :"images/leaf.gif", // 文件图片 img_width :"18px", line_height :"18px", // 行高 font_size :"12px" }; //参数初始化 var opts = $.extend(this.defaults,opt); // ul样式初始化 $(opts.obj).css({ "list-style-type":"none", "padding-left":"0px" }); // 添加文件夹及文件图片 $(opts.obj).find("li").each(function(){ $(this).css({ "height":opts.line_height, "line-height":opts.line_height, "font-size":opts.font_size }); if($(this).next().children().size() > 0){ $(this).prepend("<img src=\"" + opts.forderOpen + "\" />"); // 展开关闭 $(this).find("img[src='" + opts.forderOpen + "']:last").click(function(){ if($(this).attr("src")==opts.forderClosed){ $(this).attr("src",opts.forderOpen); $(this).parent().next().css({ "display":"block", "visibility":"visible" }); }else{ $(this).parent().next().css({ "display":"none", "visibility":"hidden" }); $(this).attr("src",opts.forderClosed); } }); }else{ $(this).prepend("<img src=\"" + opts.fileImg + "\" />"); } }); // 增加线条 $(opts.obj).find("ul").each(function(){ $(this).find("li").each(function(){ $(this).prepend("<img src=\"images/line3.gif\" />"); if($(this).next().size == 0){ alert(""); $(this).prepend("<img src=\"images/line2.gif\" />"); } }); }); // 处理线条 $(opts.obj).find("li").each(function(){ var img_size = $(this).find("img").size(); //alert(img_size); if(img_size >= 0){ for(var i = 0; i < img_size - 2; i++){ $(this).find("img:eq(" + i + ")").attr("src","images/line1.gif"); } } }); }});
- ››jquery .ajax方法 异步表单,接收服务器返回的数据...
- ››jquery 添加\删除 cookie
- ››jquery 正则表达式判断是否为正确邮箱格式
- ››jQuery EasyUI 数字框(NumberBox)用法
- ››JQuery中对option的添加、删除、取值
- ››实现dedeCMS二级导航的简单方法
- ››实现discuz投票选项文字添加链接进入查看详情
- ››JQuery实现下拉,单选,复选三大控件方法,
- ››实现android socket 聊天与调试
- ››jquery实现判断输入文字个数的代码
- ››实现windows7系统3D切换页面的方法
- ››实现Windows7系统局域网发现共享
更多精彩
赞助商链接