- 浏览: 1223216 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (706)
- 全部博客(10000) (0)
- java基础 (123)
- 算法及数据结构 (64)
- SSH框架整合与平台系统分析 (11)
- j2ee (46)
- Oracle (95)
- SQL Server (11)
- javaScript (73)
- Ajax (22)
- jQuery (39)
- ExtJs (4)
- jsp (13)
- Servlet (6)
- struts1 (2)
- struts2 (33)
- Ibatis (2)
- hibernate (24)
- Spring (11)
- 设计模式 (8)
- 正则表达式 (9)
- UML (0)
- XML (9)
- linux (19)
- CSS (11)
- FreeMarker (4)
- nginx 与 memcached (6)
- SEO (5)
- Web 服务器 (11)
- junit 与 selenium2 (4)
- MyEclipse 有关的问题 (24)
- 生活杂感 (37)
- 看过的书 (2)
- 技术牛人 (2)
- 需要优化的例子 (3)
- English 学习 (7)
- bug修改的解决方法 (2)
- 数据库实战经验总结 (1)
- 期待解决的问题 (20)
- 等待自己学习的东西 (15)
- 自己公司代码结构总结 (15)
- 企业经营之道 (23)
- 工具管理 (1)
- 世范水晶 (2)
最新评论
-
hustkeai:
第一个方法是不对的
求一个Map中最大的value值,同时列出键,值 -
qq591920734:
java List 排序 Collections.sort() 对 List 排序(首先年龄排序,如果年龄相同,则按名字排序) -
qq591920734:
[color=orange][/color]包女包女不女
java List 排序 Collections.sort() 对 List 排序(首先年龄排序,如果年龄相同,则按名字排序) -
timer_yin:
seagrave 写道这个算法想法不错,但太耗时,我用1、2、 ...
用1、2、2、3、4、5这六个数字,数字排序经典算法 -
hellostory:
日常生活中,我们都不按你上面的那个方法算的!!!
JAVA小函数-计算日期差
<%@ page language="java" contentType="text/html"
pageEncoding="utf-8"%>
<html>
<head>
<title>树状列表</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" />
<style>
*{margin:0px;padding:0px;}
A:link{color: #000000; TEXT-DECORATION: none;}
A:visited {COLOR: #000000; TEXT-DECORATION: none}
A:active {COLOR: #3333ff; TEXT-DECORATION: none}
A:hover {COLOR: #ff0000; TEXT-DECORATION: none}
.panel{ BACKGROUND: #DDE4EA; COLOR:#654125;}
ul {
list-style: none;
margin: 0;
padding: 0;
}
img{
border:0px;
width:16px;
height:16px;
}
#menu{
margin-top: 0px;
}
.U1 {
background: #FFFFFF;
border-bottom:1px #9D9D9D solid;
}
.L1 a:link, .L1 a:visited{
color: #476074;
background: url("");
font-size:9pt;
display: block;
text-decoration: none;
height: 24px;
}
.L1 a:link span, .L1 a:visited span{
background: url("") no-repeat left;
padding-left: 15px;
height:24px;
vertical-align:middle;
padding:7px 0px 0px 16px;
cursor:pointer;
width:100%;
}
.L1 a:hover{
color: #000000;
font-weight:bold;
background: url("");
background-position: 0 -24px;
}
/* 一级菜单 active 效果 */
.L1 a:link.active, .L1 a:hover.active, .L1 a:active.active, .L1 a:visited.active{
background: url("");
background-position: 0 -24px;
}
.L1 a:link.active span, .L1 a:hover.active span, .L1 a:active.active span, .L1 a:visited.active span{
color: #000000;
font-weight:bold;
background: url("") no-repeat left;
}
.L21 a:link, .L21 a:visited, .L22 a:link, .L22 a:visited, .L3 a:link, .L3 a:visited{
color: #444659;
background: none;
height: 24px;
font-size:9pt;
display: block;
text-decoration: none;
padding-left: 13px;
background: none;
}
.L21 a:link span, .L21 a:visited span, .L22 a:link span, .L22 a:visited span, .L3 a:link span, .L3 a:visited span{
vertical-align:middle;
padding:7px 0px 0px 16px;
background: url("") no-repeat left center;
cursor:pointer;
width:100%;
}
.L22 a:link span, .L22 a:visited span, .L3 a:link span, .L3 a:visited span{
background:none;
}
.L21 a:hover, .L22 a:hover, .L3 a:hover{
background: url("") no-repeat top left;
font-weight:bold;
}
.L3 a:link span, .L3 a:visited span{
padding:7px 0px 0px 26px;
}
.L4 a:link span, .L4 a:visited span{
padding:7px 0px 0px 36px;
}
/* 二级菜单 active 效果 */
.L21 a:link.active, .L21 a:hover.active, .L21 a:active.active, .L21 a:visited.active{
background: none;
}
.L21 a:link.active span, .L21 a:hover.active span, .L21 a:active.active span, .L21 a:visited.active span{
color: #000000;
font-weight:bold;
background: url("") no-repeat left center;
}
/* 二、三级菜单 active */
.L22 a:link.active, .L22 a:hover.active, .L22 a:active.active, .L22 a:visited.active,
.L3 a:link.active, .L3 a:hover.active, .L3 a:active.active, .L3 a:visited.active{
background: url("") no-repeat left;
background-position: 0 -24px;
}
.L22 a:link.active span, .L22 a:hover.active span, .L22 a:active.active span, .L22 a:visited.active span,
.L3 a:link.active span, .L3 a:hover.active span, .L3 a:active.active span, .L3 a:visited.active span{
color: #FFFFFF;
font-weight:bold;
background: none;
}
.Ls{
text-align:right;
padding-top:4px;
height:20px;
font-size:9pt;
}
.setting:link, .setting:visited{
text-decoration: underline;
display:block;
}
</style>
</head>
<body class="panel" onLoad="init();">
<div id="sub_tabs" class="sub_tabs"></div>
<div id="body">
<!-- OA树开始-->
<ul id="menu">
<!--路政报表菜单 -->
<li class="L1"><a href="javascript:c('m01');" id="m01"><span><img src="" align="absMiddle"/> 路政报表</span></a></li>
<ul id="m01d" style="display:none;" class="U1">
<li class="L21"><a href="javascript:c('f40');" id="f40"><span><img src="" align="absMiddle"/> 路政报表1</span></a></li>
<ul id="f40d" style="display:none;">
<li class="L3"><a href="javascript:c('f42');"><span><img src= align="absMiddle"/> 报表内容</span></a></li>
<ul id="f42d" style="display:none;"><li class="L4" ><a href="#"><span><img src= align="absMiddle"/>子报表内容</span></a></li></ul>
<li class="L3"><a href="#"><span><img src="" align="absMiddle"/> 报表内容</span></a></li>
</ul>
<li class="L21"><a href="javascript:c('f41');" id="f41"><span><img src="" align="absMiddle"/> 路政报表2</span></a></li>
<ul id="f41d" style="display:none;">
<li class="L3"><a href="#"><span><img src="" align="absMiddle"/>报表内容</span></a></li>
<li class="L3"><a href="#"><span><img src="" align="absMiddle"/>报表内容</span></a></li>
</ul>
<li class="L22"><a href="#"><span><img src="" /> 报表内容</span></a></li>
<li class="L22"><a href="#"><span><img src="" /> 报表内容</span></a></li>
<li class="L22"><a href="#"><span><img src="" /> 报表内容</span></a></li>
</ul>
<!--路政报表菜单 结束 -->
<!--路政报表菜单 -->
<li class="L1"><a href="javascript:c('m03');" id="m03"><span><img src="" align="absMiddle"/> 路政报表</span></a></li>
<ul id="m03d" style="display:none;" class="U1">
<li class="L21"><a href="javascript:c('f42');" id="f42"><span><img src= align="absMiddle"/> 路政报表1</span></a></li>
<ul id="f42d" style="display:none;">
<li class="L3"><a href="#"><span><img src="" align="absMiddle"/> 报表内容</span></a></li>
<li class="L3"><a href="#"><span><img src="" align="absMiddle"/> 报表内容</span></a></li>
</ul>
<li class="L21"><a href="javascript:c('f43');" id="f43"><span><img src= align="absMiddle"/> 路政报表2</span></a></li>
<ul id="f43d" style="display:none;">
<li class="L3"><a href="#"><span><img src= align="absMiddle"/>报表内容</span></a></li>
<li class="L3"><a href="#"><span><img src= align="absMiddle"/>报表内容</span></a></li>
</ul>
<li class="L22"><a href="#"><span><img src="" /> 报表内容</span></a></li>
<li class="L22"><a href="#"><span><img src="" /> 报表内容</span></a></li>
<li class="L22"><a href="#"><span><img src="" /> 报表内容</span></a></li>
<li class="L22"><a href="#"><span><img src="" /> 报表内容</span></a></li>
<li class="L22"><a href="#"><span><img src="" /> 报表内容</span></a></li>
</ul>
<!--路政报表菜单 结束 -->
</ul>
</div>
<script language="JavaScript">
window.onresize=function()
{
if(!parent.$('frame1')) return;
var rows = parent.$('frame1').rows.split(",");
if(rows.length < 2 || rows[1]!="*") return;
$("bottom_center").style.width = "0px";
if(document.body.clientHeight > $("sub_tabs").clientHeight+$("bottom").clientHeight)
$("body").style.height=(document.body.clientHeight-$("sub_tabs").clientHeight-$("bottom").clientHeight)+"px";
var widthTotal = parseInt($("bottom").clientWidth);
var widthLeft = parseInt($("bottom_left").clientWidth);
var widthRight = parseInt($("bottom_right").clientWidth);
if(!isNaN(widthTotal) && !isNaN(widthLeft) && !isNaN(widthRight))
{
$("bottom_center").style.width = widthTotal - widthLeft - widthRight + "px";
}
};
function init()
{
window.onresize();
}
var sub_menu="1";
function view_menu(id)
{
set_current("");
if($("menu").innerHTML.toLowerCase().indexOf("<li") >= 0)
$("menu_code_"+sub_menu).innerText=$("menu").innerHTML;
if($("menu_code_"+id).innerText=="" || isUndefined($("menu_code_"+id).innerText))
{
$("menu").innerHTML="<img src='/images/loading.gif' align='absMiddle'> 加载中,请稍候……";
if(id==2) args="MENU_TYPE=SHORTCUT&OA_SUB_WINDOW=0&MENU_DISPLAY=";
else if(id==3) args="MENU_TYPE=OA&OA_SUB_WINDOW=0";
else if(id==4) args="MENU_TYPE=FAV&OA_SUB_WINDOW=0";
else if(id==5) args="MENU_TYPE=FIS&OA_SUB_WINDOW=0";
else args="OA_SUB_WINDOW=0";
_get("menu_code.php", args, update_menu, true);
}
else
{
$("menu").innerHTML=$("menu_code_"+id).innerText;
}
if($('link_'+sub_menu))
$('link_'+sub_menu).className="";
$('link_'+id).className="active";
sub_menu=id;
setCookie("MENU_UI_1", id);
if(id == 5)
{
openURL("/t9apps/common/frame.jsp");
}
}
function update_menu(req)
{
if(req.status == 200)
{
if(req.responseText=="")
$("menu").innerHTML="<div style='padding:10px;'>无可访问菜单</div>";
else
{
$("menu").innerHTML=req.responseText;
if(sub_menu == 2) c('mMENU_SHORTCUT');
}
}
else
{
$("menu").innerHTML="<div style='padding:10px;'>错误:"+req.status+"</div>";
}
}
var cur_id="",cur_expand="";
var flag=0,sflag=0;
//-------- 菜单点击事件 -------
function c(id)
{
var targetid,targetelement;
var strbuf;
var el=$(id);
if(!el)
return;
//-------- 如果点击了展开或收缩按钮---------
targetid=el.id+"d";
targetelement=$(targetid);
var expandUL=$(cur_expand+"d");
var expandLink=$(cur_expand);
if (targetelement.style.display=="none")
{
if(expandUL && expandLink && el.id.substr(0,1)=="m")
{
expandLink.className="";
expandUL.style.display='none';
}
if(el.id.substr(0,1)=="m")
cur_expand=el.id;
el.className="active";
targetelement.style.display='';
menu_flag=0;
//$("expand_link").src="images/green_minus.gif";
}
else
{
el.className="";
targetelement.style.display="none";
menu_flag=1;
//$("expand_link").src="images/green_plus.gif";
var links=document.getElementsByTagName("A");
for (i=0; i<links.length; i++)
{
el=links[i];
if(el.parentNode.className.toUpperCase()=="L1" && el.className=="active" && el.id.substr(0,1)=="m")
{
menu_flag=0;
// $("expand_link").src="images/green_minus.gif";
break;
}
}
}
}
//-------- 打开网址 -------
var $ = function(id) {return document.getElementById(id);};
var userAgent = navigator.userAgent.toLowerCase();
var is_opera = userAgent.indexOf('opera') != -1 && opera.version();
var is_ie = (userAgent.indexOf('msie') != -1 && !is_opera) && userAgent.substr(userAgent.indexOf('msie') + 5, 3);
function MouseOverBtn(){event.srcElement.className+="Hover";}
function MouseOutBtn() {event.srcElement.className=event.srcElement.className.substr(0,event.srcElement.className.indexOf("Hover"));}
function CorrectButton()
{
var inputs=document.getElementsByTagName("INPUT");
for(var i=0; i<inputs.length; i++)
{
var el = inputs[i];
var elType = el.type.toLowerCase();
var elClass = el.className.toLowerCase();
var elLength = Math.ceil(el.value.replace(/[^\x00-\xff]/g,"**").length/2);
if(elType!="button" && elType!="submit" && elType!="reset" || elClass!="bigbutton"&&elClass!="smallbutton")
continue;
if(elLength<=3)
el.className+="A";
else if(elLength==4)
el.className+="B";
else if(elLength>=5 && elLength<=7)
el.className+="C";
else if(elLength>=8 && elLength<=11)
el.className+="D";
else
el.className+="E";
if(is_ie)
{
el.attachEvent("onmouseover", MouseOverBtn);
el.attachEvent("onmouseout", MouseOutBtn);
}
}
}
if(is_ie)
window.attachEvent("onload", CorrectButton);
else
window.addEventListener("load", CorrectButton,false);
</script>
</body>
</html>
发表评论
-
jQuery 弹出 div层
2013-11-22 18:58 1069<!DOCTYPE HTML PUBLIC " ... -
匹配数字或包含最多两位小数的数字
2013-11-05 16:24 17201、匹配数字<input onkeyup=" ... -
jQuery学习之prop和attr的区别
2013-07-05 16:34 1025.prop() 1、.prop( propertyN ... -
jquery 实现 邮箱的 全选/全不选 全选与全不选功能
2013-07-04 17:43 970<!DOCTYPE HTML PUBLIC " ... -
HTML <input> 标签的 maxlength 属性
2013-06-28 14:45 874HTML <input> 标签的 maxlen ... -
触发 mouseover 事件和 mouseenter 事件 的区别
2013-06-17 15:02 1212来源: http://www.w3school.com.c ... -
js清除input中type等于file的值域
2013-05-20 15:19 629js清除input中type等于file的值域 ... -
如何用js控制img中src图片路径改变
2013-05-15 16:39 6821下边是一列小图片(src图片路径是动态生成的)上边有一个di ... -
<input type="file" id="fileID">这个文本框里的值 怎么清空啊?
2013-05-15 15:30 1044来源: <input type="fil ... -
多个图片上传 js 预览功能
2013-05-15 14:44 20153一 、方法1 来源:ht ... -
单个图片上传 js 预览图片 功能
2013-05-02 19:05 1204方法1、 <!DOCTYPE HTML PU ... -
取字符串中的数字,汉字,去掉字符串空格
2013-04-09 11:58 1078<html> <head> < ... -
js 放在html 的位置 不同 造成的结果页不相同
2013-02-18 16:56 2003例子1、代码可以正常执行: <%@ page lan ... -
Jquery通过JSON和Struts的Action交互
2012-10-24 20:59 8351、Jquery通过JSON和Struts的Action交互 ... -
IE6下<a href="#">与<a href="javascript:void(0);">的区别
2012-08-09 11:41 9311、点击下面连接 IE6下<a href=&quo ... -
JS中encodeURI,escape,encodeURIComponent区别
2012-07-30 09:53 1185JS中encodeURI,escape,encodeURI ... -
设置editplus的编码格式
2012-07-22 23:54 8959方法1、设置editplus的编码格式,如下图: ... -
对file输入框的美化,换成图片的形式
2012-06-14 16:20 1290重点代码如下: http://topic.csdn.n ... -
onclick="return checkForm()" 什么情况下加 "return"
2012-05-29 21:02 5131<html> <head> ... -
js 中的onselect 与jQuery中的select 事件的用法
2012-05-03 15:12 32851、 jQuery 的用法如下: <!DO ...
相关推荐
当用户点击一个菜单项时,改变其展开状态,并刷新列表以更新视图。如果使用`RecyclerView`,还可以借助`DiffUtil`来优化更新性能。 5. **布局设计**:为了实现“左边是树,右边展开节点”的效果,通常会用到`...
在IT领域,构建一个用户友好的界面是至关重要的,尤其是对于复杂的系统,多级树形菜单成为组织和展示大量信息的有效工具。本项目名为“简单多级树形菜单”,利用了CSS(层叠样式表)、jQuery(一种JavaScript库)...
多级菜单通常是指在主菜单下有多个子菜单的结构,这些子菜单可能还会有自己的子菜单,形成一个层级分明的导航体系。这种菜单设计能够有效地组织大量信息,使用户在不感到混乱的情况下找到目标。在电子商务网站、知识...
一个树形多级菜单参考c语言源程序 一个树形多级菜单参考c语言源程序
当用户点击一个父节点时,适配器会递归地加载该节点的所有子节点到ListView中。这需要在适配器的`getView()`方法中处理点击事件,并根据当前节点的状态决定是否展开其子节点。 5. **UI交互** 用户交互是多级树菜单...
在菜单树形结构中,每个节点通常代表一个菜单项,而边则表示父节点与子节点之间的层级关系。这种结构有助于用户直观地理解和操作复杂的菜单系统,特别适用于网站或应用程序的导航菜单。 多级树形结构则是指树形结构...
如果需要,还可以关联一个槽函数,使得当用户选择该菜单项时,该函数会被调用。 ```cpp QAction *actionFile = new QAction("文件", mainMenu); QAction *actionOpen = new QAction("打开", mainMenu); connect...
每个`<li>`元素代表一个菜单项,若该菜单项有子菜单,则会在其内部嵌套另一个`<ul>`。 2. **CSS样式**:为了让菜单看起来美观,我们需要使用CSS来定义样式,包括颜色、字体、布局等。同时,还需要通过CSS隐藏默认的...
每个菜单项可能关联一个操作或另一个子菜单。 2. **菜单数据存储**:菜单项和它们的关联信息(如操作、子菜单地址)可以存储在单片机的内存中,以便快速访问。 3. **按键处理**:通过单片机的IO口接收按键输入,...
本教程将详细介绍如何使用JavaScript实现一个多级菜单。 一、基本概念与术语 1. **节点(Node)**:菜单中的每一项都被称为节点,它可以有子节点(子菜单)和父节点(上级菜单)。 2. **树状结构(Tree Structure)...
本示例提供的"android 多级下拉菜单"是一个实现三级菜单的示例,它允许动态添加菜单项,并在用户选择第三级菜单时显示所选内容所属的一级、二级和三级栏目名。通过这种方式,开发者可以构建出灵活且易于使用的导航...
本话题主要聚焦于一个特定的实现——"可刷新无限多级树形菜单",它具备了良好的浏览器兼容性,并且允许便捷地添加新节点。 首先,树形菜单的基础是JavaScript,一种广泛用于网页动态效果和交互的编程语言。通过...
开发者可以通过查看这些文件,学习如何用纯JavaScript实现一个动态的、多级的左侧导航菜单,提升自己的前端开发技能。 总之,“左侧多级子栏目纯JavaScript”是一个典型的前端开发示例,它展示了JavaScript和CSS在...
在IT领域,构建一个美观且可配置的树形图多级菜单是网页设计中的常见需求。这个场景中,我们讨论的项目"html js树形图多级菜单美观可配置"显然是一个利用HTML、JavaScript和CSS技术实现的交互式菜单系统。下面我们将...
当点击一个菜单项时,检查其是否有子节点,如果有,则调用Adapter更新数据并通知ListView刷新界面,显示或隐藏子菜单。在这个项目中,可能还涉及到自定义Adapter,以支持自定义图标和其他样式。 `otree.jar`是一个...
在本案例中,可能需要监听点击事件,当用户点击一个菜单项时,显示或隐藏相应的子级菜单。 4. **Bootsnav插件**:Bootsnav提供了额外的功能,比如自动展开、折叠菜单,以及滚动监听等。通过引入Bootsnav的JS和CSS...
在多级菜单中,我们通常需要一个层次结构来表示菜单项。例如,一级菜单可以包含多个二级菜单,二级菜单又可以包含三级菜单,以此类推。利用链表,我们可以轻松地创建这种树状结构。每个菜单项作为一个节点,包含菜单...
在构建多级菜单时,CSS可以用来定义菜单项的样式,以及如何在鼠标悬停或点击时显示下级菜单。 创建多级菜单通常涉及以下步骤: 1. HTML结构:首先,我们需要一个有序或无序列表(`<ol>` 或 `<ul>`)来表示菜单层次...
在IT行业中,构建一个高效的网站或应用程序用户界面是至关重要的,而多级导航菜单就是实现这一目标的关键元素之一。动易多级导航菜单是专为提高用户体验和网站可导航性设计的一种解决方案。在这个主题中,我们将深入...
这通常涉及到两个类:一个表示父项,另一个表示子项。 - 父项类通常包含一个String字段表示名称,以及一个List子项列表。 - 子项类包含名称或其他相关信息。 3. **自定义适配器**: - Android的`...