蒙国造博客

MediaWiki目录滚动悬浮

MediaWiki目录默认情况下会固定在页面标题2之上,如果将“__TOC__”放在某个位置,目录会显示在相应位置。当然,一个页面只会显示一个目录。

那么,如何让目录随着页面滚动而悬浮呢?对于长内容页面来说,实现这一功能将是个很好的体验。以下我们具体说明实现方法:

1 下载scrollfix

(1)下载 scrollfix,地址:scrollfix.min.js

scrollfix官网地址:https://github.com/kujian/scrollfix

说明:scrollfix基于JQuery,而Mediawiki默认就加载了JQuery,所以这里不需要再加JQuery。

2 部署scrollfix

(2)将下载的 scrollfix.min.js 文件上传到 skins/Vector/ 目录。

(3)打开 skins/Vector/VectorTemplate.php 文件,引入 scrollfix.min.js 的加载,如下:

"skins.vector.js": {
    "scripts": [
        "collapsibleTabs.js",
        "vector.js",
        "scrollfix.min.js"
    ],

(4)打开 skins/Vector/VectorTemplate.php 文件,在</body>标签之前加入:<script>$(‘.fix’).scrollFix({zIndex:1000});</script>,如下,

    <?php $this->printTrail(); ?>
    <script>$('.fix').scrollFix({zIndex:1000});</script>
</body>
</html>

(5)[可选] 打开连接:http://localhost/wiki/index.php?title=MediaWiki:Common.css,加入如下代码,让目录呈半透明:

#toc , .toc 
{ 
    filter:alpha(opacity=85); 
    -moz-opacity:0.85; 
    opacity:0.85; 
    -khtml-opacity:0.85; 
}

3 使用端配置

这样我们就可以灵活配置,对于要浮动的目录,我们让它靠右,并且配置classfix,就可以了,如下:

{| align="right" class="fix" 
| __TOC__ 
|}

没滚动的效果就像这样的,与通常没有差别:

滚动的时候是这样的,

这样就比直接滑动的体验效果要好很多了:)

退出移动版