如何实现CSS+JS一个DIV层的展开折叠效果

html-css021

如何实现CSS+JS一个DIV层的展开折叠效果,第1张

可以改变 "div" 元素的高度(jQuery的animate方法):

$(".btn1").click(function(){

  $("#box").animate({height:"300px"})

})

也可以设置溢出隐藏:

<div style="min-height:10pxoverflow:hidden">

    <div style="margin-top:-800px">content more..</div>

</div>

第二种方式也需要js动态改变div style里面的margin-top。

利用伪类可以实现点击打开折叠菜单,但是再次点击收起貌似就没法实现了。跟楼下说的一样,利用:hover、:active 可以设置二级菜单的样式(如height、visibility、display)以达到展开的效果。

给你举个例子:

<script language="javascript">

function show_div(){

var obj_div=document.getElementById("starlist")

obj_div.style.display=(obj_div.style.display=='none')?'block':'none'

}

function hide_div(){

var obj_div=document.getElementById("starlist")

obj_div.style.display=(obj_div.style.display=='none')?'block':'none'

}

</script>

<a href="javascript:show_div()" >显示/展开</a>

<div id="starlist">

内容<br/>

内容<br/>

内容<br/>

内容<br/>

</div>

这样就可以实现

追问

用jQuery实现,该怎么实现?就是不能弹出的那种,就要一个点击了之后就在下方显示的那种,谢谢!

回答

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

<meta http-equiv="Content-Type" content="text/htmlcharset=gbk" />

<title>StripingTable</title>

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script>

<script type="text/javascript">

<!--

$(document).ready(function(){ })

function changeDisplay(){

var helloDivObj = $("#helloDiv")

var buttonObj = $("#btnDisplay")

var val = buttonObj.attr("value")

if(val=="隐藏"){

helloDivObj.hide()

buttonObj.attr("value","显示")

}else{

helloDivObj.show()

buttonObj.attr("value","隐藏")

}

}

-->

</script>

</head>

<body>

<input id="btnDisplay" type="button" value="隐藏" onclick="changeDisplay()"/>

<div id="helloDiv">

Hello,everyone<p></p>

Hello,everytwo<p></p>

Hello,everythree<p></p>

</div>

</bdoy>

</html>