在頁面内容很多、顯示太長的情況下,除了分頁顯示以外,也可以采取折疊的方式,在網上搜了一些資料,一般都是采取JavaScript加CSS的方式來實現的,不過有些示範過于簡單,有些效果過于複雜,要适合我們自己還得自己改改,經過調試基本上實現了我們需要的效果,記錄如下。
在頁面head或者body部分先加入下面的JavaScript代碼:
<script type='text/javascript'>
function isHidden(oDiv) {
var vDiv = document.getElementById(oDiv);//div id用于折疊主體
vDiv.style.display = (vDiv.style.display == 'none')?'block':'none';//反轉
var oDiv1 = oDiv + '1';
var vDiv1 = document.getElementById(oDiv1);//div id1用于折疊狀态顯示展開的+号
vDiv1.style.display = (vDiv1.style.display == 'none')?'block':'none';//反轉
var oDiv2 = oDiv + '2';
var vDiv2 = document.getElementById(oDiv2);//div id2用于展開狀态顯示折疊的-号
vDiv2.style.display = (vDiv2.style.display == 'none')?'block':'none';//反轉
}
</script>
再在需要折疊的區域設置div,可以默認為折疊或者展開狀态:
<fieldset>
<legend style="cursor:hand" onclick="isHidden('div_first_part')">
第一塊(默認展開)标題
<span style='float:right; display:none;' id='div_first_part1'>+ </span>
<span style='float:right; display:block;' id='div_first_part2'>- </span>
</legend>
<div style='display:block;' id='div_first_part'>
<ul>
<li>第一塊 第一行</li>
<li>第一塊 第二行</li>
<li>第一塊 第三行</li>
<li>第一塊 第四行</li>
<li>第一塊 第五行</li>
</ul>
</div>
</fieldset>
<fieldset>
<legend style="cursor:hand" onclick="isHidden('div_second_part')">
第二塊(默認折疊)标題
<span style='float:right; display:block;' id='div_second_part1'>+ </span>
<span style='float:right; display:none;' id='div_second_part2'>- </span>
</legend>
<div style='display:none;' id='div_second_part'>
<ul>
<li>第二塊 第一行</li>
<li>第二塊 第二行</li>
<li>第二塊 第三行</li>
<li>第二塊 第四行</li>
<li>第二塊 第五行</li>
</ul>
</div>
</fieldset>效果如下,其中第一塊是默認展開狀态,第二塊是默認折疊狀态,點擊每一塊的标題行可以切換狀态:
function isHidden(oDiv) { var vDiv = document.getElementById(oDiv);//div id用于折疊主體 vDiv.style.display = (vDiv.style.display == 'none')?'block':'none';//反轉 var oDiv1 = oDiv + '1'; var vDiv1 = document.getElementById(oDiv1);//div id1用于折疊狀态顯示展開的+号 vDiv1.style.display = (vDiv1.style.display == 'none')?'block':'none';//反轉 var oDiv2 = oDiv + '2'; var vDiv2 = document.getElementById(oDiv2);//div id2用于展開狀态顯示折疊的-号 vDiv2.style.display = (vDiv2.style.display == 'none')?'block':'none';//反轉 }
還可以增加更多塊。
评论