javascript 如何创建一个list

JavaScript012

javascript 如何创建一个list,第1张

很简单的一个使用:点击菜单,能够显示下面的或者不显示

1,主要目的:: 展现的是的一个菜单项,然后点击一下,隐藏,点一下,弹出下面的内容

用到的是 overflow:hidden    和  overflow="visible"这两个属性 在点击的function中,设置属性应该node.style.overflow="visible"当然设置tr的高度也是很重要的,要恰好让其他的选项隐蔽。

2,采用同样的技术,多加几个,但是就是传参数比较麻烦,采用this传参很常用

具体代码如下。

<!DOCTYPE html>

<html>

<head>

<!-- 1,主要目的:: 展现的是的一个菜单项,然后点击一下,隐藏,点一下,弹出下面的内容

用到的是 overflow:hidden    和  overflow="visible"这两个属性 在点击的function中,设置属性应该

node.style.overflow="visible"

2,采用同样的技术,多加几个,但是就是传参数比较麻烦

-->

<title>list.html</title>

<!--<link rel="stylesheet" type="text/css" href="./styles.css">-->

<style type="text/css">

dl{

height:18px/*优先级问题,必须要写*/

overflow:hidden

}

dd{

margin:0px

padding:0px

}

.close{

height:18px/*优先级问题,必须要写*/

overflow:hidden

}

.open{

height:80px

overflow:visible

background-color:#ff8000

}

</style>

<script type="text/javascript">

function click2(node1){

//                      alert("aa"+node.nodeName)// td

var nodes=node1.parentNode

//                      alert(nodes.nodeName)

//  alert("aa"+nodes.className)

//※※通过传进的对象 判断采用哪种css模式

if(nodes.className=="open"){

nodes.className="close"

}else{

nodes.className="open"

}

}

</script>

</head>

<body>

<!--层次列表-->

<!--当很多时候采用传参就很麻烦,每个都需要去传参

<dl>

<dt onclick="click1(0)">菜单条1</dt>

<dd>菜单1</dd>

<dd>菜单2</dd>

<dd>菜单3</dd>

<dd>菜单4</dd>

</dl>

<dl>

<dt onclick="click1(1)">菜单条2</dt>

<dd>菜单11</dd>

<dd>菜单22</dd>

<dd>菜单33</dd>

<dd>菜单44</dd>

</dl>

<dl>

<dt onclick="click1(2)">菜单条3</dt>

<dd>菜单12</dd>

<dd>菜单23</dd>

<dd>菜单34</dd>

<dd>菜单45</dd>

</dl>

-->

<br/>

<br/>

<hr/>

<!--<dl class="close">先手动采用css测试,可以然后采用编程使用-->

<dl>

<dt onclick="click2(this)">1菜单条1</dt>

<dd>菜单1</dd>

<dd>菜单2</dd>

<dd>菜单3</dd>

<dd>菜单4</dd>

</dl>

<dl>

<dt onclick="click2(this)">2菜单条2</dt>

<dd>菜单11</dd>

<dd>菜单22</dd>

<dd>菜单33</dd>

<dd>菜单44</dd>

</dl>

<dl>

<dt onclick="click2(this)">3菜单条3</dt>

<dd>菜单12</dd>

<dd>菜单23</dd>

<dd>菜单34</dd>

<dd>菜单45</dd>

</dl>

</body>

</html>

<!--封装集合类-->

//我们的集合里面不允许有重复的元素

    function Set(){

//    属性

        this.items={}

//    add方法

        Set.prototype.add=value=>{

//判断当前集合是否包含了该元素

            if (this.has(value))return false

            //将元素添加到集合中

            this.items[value]=value//集合中,键为value,值为value

            return true

        }

//        has方法--判断集合中是否有某一个元素!

        Set.prototype.has=(value)=>{

return this.items.hasOwnProperty(value)

}

//        remove方法

        Set.prototype.remove=(value)=>{

//  1.判断集合中是否包含该元素

            if (!this.has(value))return false

        //  2.包含则删除集合中的属性,delete是js中的属性

            delete this.items[value]

return true

        }

//        clear方法

        Set.prototype.clear=()=>{

this.items={}

}

//        size方法

        Set.prototype.size=()=>{

return Object.keys(this.items).length

        }

//        获取集合中所有的值

        Set.prototype.values=()=>{

return Object.keys(this.items)

}

}