Discuz!NT控件剖析之左侧导航控件
作者 佚名技术
来源 NET编程
浏览
发布时间 2012-05-19
; 167 } 168 else 169 { 170 output.Write(" <td class=\"lefttd\" ></td>"); 171 } 172 if((drs["frameid"].ToString().Trim()=="top")||(drs["frameid"].ToString(). 173 Trim()=="")) 174 { 175 output.Write("<td><a href=\"javascript:void(0);\" 176 onclick=\"javascript:top.location.href=''"+ 177 drs["link"].ToString().Trim()+"'';\" 178 onfocus=\"this.blur();\">"+ 179 drs["menutitle"].ToString().Trim()+"</a></td>\r\n"); 180 } 181 else 182 { 183 output.Write("<td><a href=\""+drs["link"].ToString().Trim()+"\" 184 target="+drs["frameid"].ToString().Trim()+" 185 onfocus=\"this.blur();\">"+ 186 drs["menutitle"].ToString().Trim()+"</a></td>\r\n"); 187 } 188 output.Write("</tr>\r\n"); 189 } 190 output.Write("</table>\r\n"); 191 output.Write("</div>\r\n"); 192 #endregion 193 194 //打印分割符 195 output.Write("<div class=\"splitter\"> </div>\r\n"); 196 count++; 197 } 198 199 output.Write("</div>\r\n"); 200 } 201 } 202 203 204 205 上面的代码因为太简单,就不多做介绍了。而XML的结构如下: 其中的submain表(这里暂且这样说)的menuparentid(子菜单的父menuid),是关联mainmenu表的menuid,这样就能够这 这两个表有一个主从结构了。当前如果将这两个表合成“一个”也可以,前提是要减少数据冗余,因为mainmenu表里是不 包含link(点击子菜单跳转地址),frameid(子菜单跳转的frameid)这样的信息的。 最后要说明的是这个控件的JS,代码如下(详情见注释): 1 2var remember = false; //记录当前菜单状态,当下次访问时使用 3var contractall_default= 1; //系统菜单项状态 1:只显示第一项 2:展开所有项 3:收缩所有的菜单项 4 5var menu, titles, submenus, arrows, bypixels; //定义指定的菜单数组变量 6var heights = new Array(); 7var speed=10; //加载菜单项的速度 8 9var n = navigator.userAgent; 10 11if(/Opera/.test(n)) 12{ 13 bypixels = 2; 14} 15else if(/Firefox/. |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |
你可能对下面的文章感兴趣
上一篇: Discuz!NT控件剖析之Button下一篇: 从一个页面刷新另一个页面的数据
关于Discuz!NT控件剖析之左侧导航控件的所有评论