R&Knitr html输出:创建折叠和扩展标题

use*_*503 7 html css r knitr

用例

我使用R和Knitr来制作长html报告.报告使用markdown #语法包含标头.这些标题为读者的导航提供了良好的方向......

问题

......但报道有时会很长.从头到尾滚动需要很长时间.报告的读者在到达相关部分之前看到所有报告内容后感到恼火.

题

有没有办法在Knitr中实现折叠和扩展头元素? 例

要求

  • 默认情况下,标题应折叠.只需单击标题下方的内容即可展开.这将极大地帮助保持报告的外观小巧,便于快速导航.
  • 为了给读者反馈状态标题,它应代表它的状态.我建议使用维基百科中使用的机制(见上图).

Ric*_*ton 4

您可以使用 Javascript 使元素折叠。JavaScriptjQuery框架通过hide和show方法使这变得相当容易。

在包含Rmd模板的文件夹中,创建一个名为 的子文件夹script并将jQuery 文件保存在其中。(不一定在那里,但这是一个相当标准的位置。)

将此代码添加到文件顶部附近Rmd。

<script type="text/javascript" language="javascript" src="script/jquery-1.10.2.min.js">
</script>
Run Code Online (Sandbox Code Playgroud)

对于 Markdown,结束标签需要单独一行。

或者,如果您的报告主要在可以访问互联网的计算机上阅读,那么您能 应使用 Google 托管的jQuery.

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js" >
</script>
Run Code Online (Sandbox Code Playgroud)

然后为您的折叠逻辑添加另一个脚本块。具体实施由您决定;互联网上有很多 例子 。

使折叠/展开逻辑变得简单的关键是确保您正在操作的元素具有一致的类(或其 id 的模式)。