页面装载中...

使用DOM折叠网页上的元素

经常来看 catch the digital flow 的朋友一定发现了, 原先侧边栏上长长的blogroll列表不见了, 取而代之的是一个可以点击折叠/展开的动态列表. 整个侧边栏都因此一下子变得简洁不少.

如果你也想把网页上某些元素折叠起来, 那就继续往下读吧! :-D

此次借助的是一个叫domCollapse的工具包, 它的特点是可以非常简单地实现网页上任意元素的折叠, 而不需要了解JavaScript, 只要在HTML中添加class selector配合CSS就可以实现. (class selector是什么? 参考CSS扫盲(二): syntax)

[domCollapse 3.0 下载地址]

安装domCollapse:
在head标签之间加入以下代码调用JS脚本和CSS样式表, 当然, 这两个文件要能被页面访问到, 地址需要修改一下.

<script type="text/javascript" src="domcollapse.js"></script>
<style type="text/css">
    /* domCollapse styles */
    @import "domcollapse.css";
</style>

domCollapse使用方法:
在你想要实现点击折叠/展开功能的元素上加入

class="trigger"

怎么样, 够简单吧? 快去刷新你的页面看看效果吧! ;-)

继续阅读请点击展开 :-)

PS1. domCollapse默认使用循环来检测页面上的所有元素, 所以处理大文档时效率肯定会降低不少, 为了减少循环所消耗的时间, 可以使用以下的方法:

  • 如果只想给某种元素(例如: h2)加入折叠/展开的功能, 在HTML文档的h2处加入"trigger"并修改domcollapse.js文件中的
    triggerElements:'*'

    triggerElements:'h2'

  • 如果只想折叠h2中id为"content"的元素, 需要修改为

    triggerElements:'h2',
    parentElementId:'content',

PS2. 如果需要实现展开某个元素时其他元素同时折叠, 可以设置

uniqueCollapse:true

PS3. 相应的外观在domcollapse.css文件中修改就可以啦.

hoho, 看到我的演示效果了吧?! 心动了就赶快装一个在你的blog上吧!

2排都被占了... 抢座 或 Trackback

  • fisio 2007年06月21日 12:07 

    呵呵,这个厉害了
    早就对你这里的 css tab 这类的很感兴趣了 :em25:

  • yichi 2007年06月21日 13:11 

    :em01: 这个真实用,我先拿去用了,呵。可能theme需要先改动一下了

我要占座!

Connecting to server...