<html>
<head>
<meta http-equiv="Content-Type" content="text/html charset=UTF-8">
<script class="jquery library" src="/js/sandbox/jquery/jquery-1.8.2.min.js" type="text/javascript"></script>
<title>
RunJS 演示代码
</title>
<script>
jQuery(function($){
$("ul>li>a").click(function(){
$(this).next("ul").toggle().closest("li").siblings("li").children("ul").hide()
}).next("ul").hide()
})
</script>
</head>
<body>
<ul>
<li>
<a>
一级菜单
</a>
<ul>
<li>
隐藏的二级菜单项
</li>
<li>
隐藏的二级菜单项
</li>
<li>
隐藏的二级菜单项
</li>
</ul>
</li>
<li>
<a>
一级菜单
</a>
<ul>
<li>
隐藏的二级菜单项
</li>
<li>
隐藏的二级菜单项
</li>
<li>
隐藏的二级菜单项
</li>
</ul>
</li>
<li>
<a>
一级菜单
</a>
<ul>
<li>
隐藏的二级菜单项
</li>
<li>
隐藏的二级菜单项
</li>
<li>
隐藏的二级菜单项
</li>
</ul>
</li>
</ul>
</body>
</html>
原来是这个"展开",我还以为是字数过长的“展开”,白写了一个。还要工作,如果没人写有空了给你写一个。(能用jquery么?)/******************************************************************************************************
不上CSDN,不知道你说的是什么,现写一个,jquery版,使用前请包涵jquery库。
/*
* 展开
* 第一个参数是想要缩略的段落的jquery object
* 第二个是缩略后的长度类型是int
*/
function span($obj,len)
{
var h=$obj.html()
if(h.length>len)//长度超过规定长度就把后边隐藏
$obj.html(h.substr(0,len)+"<span class='span'>展开更多</span><span class='hide'>"+h.substr(len)+"</span>")
}
/*
* 折叠
* 参数是折叠按钮的jquery object
*/
function coll($o)
{
$o.hide()
var $p=$o.parents(".collapsible")
console.log($p)
$p.find(".hide").hide()
$p.find(".span").show()
}
$(function(){
span($(".collapsible"),10)//这里以.collapsible为例,如果长度超过10个字就把后边的隐藏
$(".span").click(function(){//展开
var $h=$(this).next(".hide")
$(this).hide()
$h.show()
$h.append("<span class='coll'>折叠</span>")
$(".coll").click(function(){
coll($(this))//折叠
})
})
})
给你举个例子:<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>