很简单的一个使用:点击菜单,能够显示下面的或者不显示
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>
List数据,从java后台传至js中接收的方法:
新建bean类
public class Test {
private int Id
public int getId() {
return Id
}
public void setId(int id) {
Id = id
}
}
2.再建返回List<Bean类>的java方法
public List<Test>list(){
Test t=new Test()
t.setId(1)
List<Test>list = new ArrayList<Test>()
list.add(t)
return list
}
3.配置web.xml——补加导入dwr配置的代码
<servlet>
<servlet-name>dwr-invoker</servlet-name> <servlet-class>org.directwebremoting.servlet.DwrServlet</servlet-class>
<init-param>
<param-name>debug</param-name>
<param-value>true</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>dwr-invoker</servlet-name>
<url-pattern>/dwr/*</url-pattern>
</servlet-mapping>
4.配置dwr.xml——creator+concert
<allow>
<create creator="new" javascript="service">
<param name="class" value="com.telek.dwr.Service" />
</create>
<convert converter="bean" match="com.telek.dwr.Test">
<param name="include" value="id"/>
</convert>
</allow>
5.js文件中正确接收
function callBackHello(data){
alert(data[0].id)
}
function testList(){
service.list(callBackHello)
}