在完成的过程中,有一些js写法值得收藏:
1.遍历navUl下的所有的li的data-sort的值,和dataId比较
$("#navUl").children("li").map(function(){
//上面的所有li的data-sort
childId = $(this).attr("data-sort");
if(dataId==childId){
//调用nav.js的$("#navUl li").click()方法,让点击的菜单选中
$(this).click();
}
});
2.可以给某个标签添加一个自定义的属性,例如:
取data-id 的值:$("#div").children("li").attr('data-id');
修改data-couont的值: $("#div").children("li").attr('data-id','hxy');
3.append()和html()的区别
append() 方法是追加在已有的页面中,而html()则是替换已存在的所有。
4.遍历数组
var array = new Array();
array[0] = '1';
array[1] = '2';
for(var i = 0;i
alert(array[i]);
}
5.经常出现的问题:给某个标签添加点击事件或做其他操作时,没有任何反应。
问题原因1:如果确保写的操作没语法错误,那很有可能是在页面还没加载完成的时候你就想操作这个标签。
问题原因2:id重复
6.如果有多个li,而想获取li中的某个属性或子元素的值,不能直接$("#div").children("li").children("i")...,因为 li 有多个,必须先遍历li,如下:
$("#navUl").children("li").map(function(){
//上面的所有li的data-sort
childId = $(this).attr("data-sort");
if(dataId==childId){
//调用nav.js的$("#navUl li").click()方法,让点击的菜单选中
$(this).click();
}
});
这些是js需要留心的部分了,还有java部分,使用的是xml来保存页面菜单的点击次数,以前都是操作数据库,现在是操作xml文件,本质是一样的,有一下几点需要留意:
1.自动生成的xml的存放位置:
String path = “userMenu”;
String fileName = "\\"+loginId+".xml";
MenuDom menuDom = new MenuDom();
//如果userMenu不存在,则创建这个目录
if(!new File(path).exists() && !new File(path).isDirectory()){
new File(path).mkdir();
}
if(!new File(path+fileName).exists()){
String result = menuDom.createMenuXML(path+fileName);
System.out.println("指定文件不存在,正在创建。。。"+result);
}
如果按照上面的路径存放,会保存在项目的src平级的目录下。
2.Connections 排序
java.util.Connections 有对list排序的方法,
Connections.sort(list) 升序)
Connections.reverse(list) 降序
3.判断string数组中是否有某个字符串
String[] menuIds = menuId.split(",");
List arrList = Arrays.asList(menuIds);
if(!arrList.contains(menuIdI)){
//do something
}
大概就是这些了,还是要继续加油啊,↖(^ω^)↗