admin 管理员组

文章数量: 1184232

sougou

1 HTML+CSS实现,放在一级菜单上,自动显示二级菜单。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" ".dtd">
<html xmlns="">
<head>
<style type="text/css">
/*去掉默认的margin和padding,再去掉ul,li标签的list-style样式和a标签的默认下划线,接着再添加适当的样式
 ---start*/
 *{
margin:0;
padding:0;
}
ul, li { list-style:none;}  /*列表的属性和列表,去掉样式 */
a { text-decoration:none;}   /*去掉超链接的下划线(underline为一条下划线)*/
/*去掉默认的margin和padding,再去掉ul,li标签的list-style样式和a标签的默认下划线,接着再添加适当的样式
 ---end*/
 
#menu ul li ul{  /*二级菜单默认位置隐藏*/
  position:absolute;
  left:110px;
  display:none;
}
#menu ul li:hover ul{  /*选择条件为menu下的ul标签下的li且用户点击li下的ul标签,一直选择   */
  display:block;

}

</style>
</head>
<html>
<body>
<div id="menu">
   <ul>
       <li><a href="#">一级菜单列表1</a>
           <ul>
               <li><a href="#">二级菜单列表11</a></li>
               <li><a href="#">二级菜单列表12</a></li>
               <li><a href="#">二级菜单列表13</a></li>
               <li><a href="#">二级菜单列表14</a></li>
            </ul>
       </li>
       <li><a href="#">一级菜单列表2</a>
           <ul>
               <li><a href="#">二级菜单列表21</a></li>
               <li><a href="#">二级菜单列表22</a></li>
               <li><a href="#">二级菜单列表23</a></li>
               <li><a href="#">二级菜单列表24</a></li>
           </ul>
       </li>
       <li><a href="#">一级菜单列表3</a>
          <ul>
               <li><a href="#">二级菜单列表31</a></li>
               <li><a href="#">二级菜单列表32</a></li>
               <li><a href="#">二级菜单列表33</a></li>
               <li><a href="#">二级菜单列表34</a></li>
           </ul>
        </li>
       <li><a href="#">一级菜单列表4</a>
          <ul>
               <li><a href="#">二级菜单列表41</a></li>
               <li><a href="#">二级菜单列表42</a></li>
               <li><a href="#">二级菜单列表43</a></li>
               <li><a href="#">二级菜单列表44</a></li>
           </ul>
       </li>
    </ul>
</div>
</body>
</html>

图片显示如下:


2 JS实现图片90旋转。

2.1 文字水平垂直居中

<style type="text/css">
div{
 width:400px;
 height:400px;
 background-color:#cceeff;

 text-align:center; /*文本水平居中*/
 line-height:400px; /*文字垂直居中,文字高度必须和div高度一致才可以*/

}
</style>


<div>
 文本水平垂直居中
 
</div>

2.2 图片水平垂直居中,且旋转90度

<style type="text/css">
div{
 /*非IE的主流浏览器识别的垂直居中的方法*/
display: table-cell; /* 此元素会作为一个表格<td>元素显示*/

/* 针对IE的Hack */
*display: block;  /*将元素将显示为块级元素。*/
*font-size: 175px;/*约为高度的0.873,200*0.873 约为175*/
*font-family:Arial;/*防止非utf-8引起的hack失效问题,如gbk编码*/

/*设置垂直居中*/
vertical-align:middle;
/*设置水平居中*/
text-align:center;

width:400px;
height:400px;
border: 1px solid #eee;
background-color:#cceeff;
}

#rotate{
 transform:rotate(90deg); /*顺时针旋转90度*/
 -ms-transform:rotate(90deg);     /* IE 9 */
 -moz-transform:rotate(90deg);     /* Firefox */
 -webkit-transform:rotate(90deg); /* Safari 和 Chrome */
 -o-transform:rotate(90deg);     /* Opera */
}

</style>

<div>
<img id="rotate" src="./1.jpg"/>
</div>

3 JS去掉重复的字母  ,如"11111ddj;alkhiehkl22"

<script type="text/javascript">
 //js去掉重复项
 var array=[7,1,1,2,3,4,4,5,4,6];
 function removeRepeat(arr){
     var result=[];//result为目标数组
     var hash={};//hash为对象,可以为对象添加属性和对应属性的值
     for(var i=0;i<arr.length;i++){
         var temp=arr[i];
         if(hash[temp]){//对象包含该数组值
             //console.log("包含");
         }else{//对象不包含该属性
             //console.log("不包含");
             result.push(temp);
             hash[temp]=true;
         }
     }
     //console.log(hash);
     return result;
 }

 var result=removeRepeat(array);
 console.log(result);

</script>


4 json转换为字符串,字符串转对象等,数组变字符串等。

JSON.parse(jsonstr); //可以将json字符串转换成json对象
JSON.stringify(jsonobj); //可以将json对象转换成json对符串

注:ie8(兼容模式),ie7和ie6没有JSON对象,需要引入 json.js 或 json2.js。

Javascript支持的转换方式
eval('(' + jsonstr + ')'); //可以将json字符串转换成json对象,注意需要在json字符外包裹一对小括号
注:ie8(兼容模式),ie7和ie6也可以使用eval()将字符串转为JSON对象,但不推荐这些方式,这种方式不安全eval会执行json串中的表达式。


    var jsObj = {};  
    jsObj.testArray = [1,2,3,4,5];  
    jsObj.name = 'CSS3';  
    jsObj.date = '8 May, 2011';  
    var str = JSON.stringify(jsObj);   //对象转为字符串

   var str1 = JSON.parse(str); //字符串转为对象

    alert(str); 


数组变字符串:join() 方法用于把数组中的所有元素放入一个字符串。

数字变字符串,i.toString();

字符串变数字:parseInt(str);

5 归并排序

6 amd和cmd的区别

 amd是RequireJS在推广过程中,对模块定义的规范化产出。

 cmd是SeaJS在推广过程中对模块定义的规范化产出。

amd和cmd都是为了JS的模块化开发。

1 对于模块依赖,amd是提前执行,cmd是延后执行。amd在RequireJS2.0开始,也改为延迟执行。

2 cmd推崇依赖就近,amd推崇依赖 前置。

//cmd

define(function(require,exports,module){

var a=require("./a");

a,doSomething();

//其他


...

var b=require("./b");

b.doSomething();

//....

...


})


//amd

define(['./a','./b'],function(a,b){

a.doSomething();

b.doSomething();

.....

})

3 amd默认一个多用,cmd职责单一,

AMD 里,require 分全局 require 和局部 require,都叫 require。CMD 里,没有全局 require,而是根据模块系统的完备性,提供 seajs.use 来实现模块系统的加载启动


seajs.use 用来在页面中加载模块。通过 use 方法,可以在页面中加载任意模块。

7 xss预防

8空ul上,以后可能有的li节点绑定事件

8 对第一个节点深度克隆

9 递归n边形

答:递归n边形,此为凸边形最优三角剖分问题,可参考博客:草滩小恪的博客园   网址:.html

 

本文标签: sougou