日期:2014-05-19  浏览次数:20858 次

[100分] 文本编辑器里的文本块如何实现展开收缩功能?
我用C#.NET编写一个文本编辑器,希望能让里面的文本块可以展开收缩,请问如何实现,有示例代码吗?

------解决方案--------------------
你可以参考下这个

<!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 " lang= "gb2312 ">
<head>
<title> 代码实例:滑动展开/收缩 </title>
<meta http-equiv= "content-type " content= "text/html; charset=gb2312 " />
<meta name= "author " content= "枫岩,CNLei.y.l@gmail.com ">
<meta name= "keywords " content= "代码实例:滑动展开/收缩 " />
<script type= "text/javascript ">
var intervalId = null;
function slideAd(id,nStayTime,sState,nMaxHth,nMinHth){
this.stayTime=nStayTime*1000 || 3000;
this.maxHeigth=nMaxHth || 90;
this.minHeigth=nMinHth || 1;
this.state=sState || "down " ;
var obj = document.getElementById(id);
if(intervalId != null)window.clearInterval(intervalId);
function openBox(){
var h = obj.offsetHeight;
obj.style.height = ((this.state == "down ") ? (h + 2) : (h - 2))+ "px ";
if(obj.offsetHeight> this.maxHeigth){
window.clearInterval(intervalId);
intervalId=window.setInterval(closeBox,this.stayTime);
}
if (obj.offsetHeight <this.minHeigth){
window.clearInterval(intervalId);
obj.style.display= "none ";
}
}
function closeBox(){
slideAd(id,this.stayTime, "up ",nMaxHth,nMinHth);
}
intervalId = window.setInterval(openBox,10);
}
</script>
</head>
<body style= "margin:0;padding:0;font-size:14px; ">
<div id= "MyMoveAd " style= "background:#ff0;height:12px;overflow:hidden; ">
<ul>
<li> 这里是内内容 </li>
<li> 这里是内内容 </li>
<li> 这里是内内容 </li>
<li> 这里是内内容 </li>
<li> 这里是内内容 </li>
<li> 这里是内内容 </li>
<li> 这里是内内容 </li>
<li> 这里是内内容 </li>
<li> 这里是内内容 </li>
<li> 这里是内内容 </li>
<li> 这里是内内容 </li>
<li> 这里是内内容 </li>
<li> 这里是内内容 </li>
<li> 这里是内内容 </li>
<li> 这里是内内容 </li>
</ul>
</div>
<p> 代码实例: <strong> 滑动展开/收缩 </strong> &nbsp;&nbsp;&nbsp;请刷新页面,再次观看演示效果 </p>
<script type= "text/javascript ">
<!--
slideAd( 'MyMoveAd ',2);
-->
</script>
</body>
</html>
------解决方案--------------------
http://developer.51cto.com/art/200612/36307.htm