div+js的伸缩控制代码(展开和关闭)

From:http://bbs.blueidea.com/thread-2861003-1-1.html

div的伸缩控制

 

===默认展开=========
 

折叠展开XML/HTML Code<!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Strict//EN”  
“http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd”> 
<html xmlns=”http://www.w3.org/1999/xhtml”> 
<head> 
<title>runcode</title> 
<meta http-equiv=”Content-Type” content=”text/html; charset=utf-8″ /> 
<meta name=”Author” content=”Sheneyan” /> 
<script type=”text/javascript”> 
var mh = 30;//最小高度  
var step = 5;//每次变化的px量  
var ms = 10;//每隔多久循环一次  
function toggle(o){  
if (!o.tid)o.tid = “_” + Math.random() * 100;  
if (!window.toggler)window.toggler = {};  
if (!window.toggler[o.tid]){  
window.toggler[o.tid]={  
obj:o,  
maxHeight:o.offsetHeight,  
minHeight:mh,  
timer:null,  
action:1  
};  
}  
oo.style.height = o.offsetHeight + “px”;  
if (window.toggler[o.tid].timer)clearTimeout(window.toggler[o.tid].timer);  
window.toggler[o.tid].action *= -1;  
window.toggler[o.tid].timer = setTimeout(”anim(’”+o.tid+”‘)”,ms );  
}  
function anim(id){  
var t = window.toggler[id];  
var o = window.toggler[id].obj;  
if (t.action < 0){  
if (o.offsetHeight <= t.minHeight){  
clearTimeout(t.timer);  
return;  
}  
}  
else{  
if (o.offsetHeight >= t.maxHeight){  
clearTimeout(t.timer);  
return;  
}  
}  
o.style.height = (parseInt(o.style.height, 10) + t.action * step) + “px”;  
window.toggler[id].timer = setTimeout(”anim(’”+id+”‘)”,ms );  
}  
</script> 
<style type=”text/css”> 
div.xx{border:solid 1px;overflow:hidden;}  
div.xx h5{border:solid 1px;border-width:0 0 1px;padding:0;margin:0;height:30px;line-height:30px;cursor:pointer;background:#eee;}  
</style> 
</head> 
<body> 
<div class=”xx”><h5 onclick=”toggle(this.parentNode)”>伸缩效果</h5> 
<p>内容</p> 
<p>内容</p> 
<p>内容</p> 
<p>内容</p> 
</div> 
</body> 
</html> 
—————————————————————–

==默认收缩========================
 

折叠展开XML/HTML Code<!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Strict//EN”  
“http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd”> 
<html xmlns=”http://www.w3.org/1999/xhtml”> 
<head> 
<title>runcode</title> 
<meta http-equiv=”Content-Type” content=”text/html; charset=gb2312″ /> 
<meta name=”Author” content=”Sheneyan” /> 
<script type=”text/javascript”> 
var mh = 30;//最小高度  
var step = 5;//每次变化的px量  
var ms = 10;//每隔多久循环一次  
function toggle(o){  
if (!o.tid)o.tid = “_” + Math.random() * 100;  
if (!window.toggler)window.toggler = {};  
if (!window.toggler[o.tid]){  
window.toggler[o.tid]={  
obj:o,  
//maxHeight:o.offsetHeight,  
maxHeight:o.scrollHeight+mh, //这里改动处  
minHeight:mh,  
timer:null,  
// action:1  
action:-1 //这里改动处  
};  
}  
oo.style.height = o.offsetHeight + “px”;  
if (window.toggler[o.tid].timer)clearTimeout(window.toggler[o.tid].timer);  
window.toggler[o.tid].action *= -1;  
window.toggler[o.tid].timer = setTimeout(”anim(’”+o.tid+”‘)”,ms );  
}  
function anim(id){  
var t = window.toggler[id];  
var o = window.toggler[id].obj;  
if (t.action < 0){  
if (o.offsetHeight <= t.minHeight){  
clearTimeout(t.timer);  
return;  
}  
}  
else{  
if (o.offsetHeight >= t.maxHeight){  
clearTimeout(t.timer);  
return;  
}  
}  
o.style.height = (parseInt(o.style.height, 10) + t.action * step) + “px”;  
window.toggler[id].timer = setTimeout(”anim(’”+id+”‘)”,ms );  
}  
</script> 
<style type=”text/css”> 
div.xx{border:solid 1px;overflow:hidden; height:/*这里改动处*/30px;}  
div.xx h5{border:solid 1px;border-width:0 0 1px;padding:0;margin:0;height:30px;line-height:30px;cursor:pointer;background:#eee;}  
</style> 
</head> 
<body> 
<div class=”xx”><h5 onclick=”toggle(this.parentNode)”>伸缩效果</h5> 
<p>内容</p> 
<p>内容</p> 
<p>内容</p> 
<p>内容</p> 
</div> 
</body> 
</html> 
—————————————–

 

===另外一个=================
 

折叠展开XML/HTML Code<html xmlns=”http://www.w3.org/1999/xhtml”> 
<head> 
<title>Untitled Document</title> 
<meta http-equiv=”Content-Type” content=”text/html; charset=gb2312″ /> 
<style> 
body{font-size:12px;}  
</style> 
<script> 
function SenFe_Code(sname,sid){  
if(sid.style.display==”none”){  
sid.style.display=”block”;  
sname.innerText=”隐藏”;  
}else{  
sid.style.display=”none”;  
sname.innerText=”显示”;  
}  
}  
</script> 
<div OnClick=”SenFe_Code(this,SenFe_1);”>显示</div> 
<div id=”SenFe_1″ style=”display:none;padding-left:30px;”>不显山,不露水。</div> 

你可能感兴趣的:(html,function,XHTML,action,div,border)