在选项卡集中使用数据表时,防止R .rmd html文档跳过

时间:2019-05-13 17:29:19

标签: javascript jquery r r-markdown dt

我正在用.set中的R DT包生成的表从.rmd编织HTML文件。选项卡开始之前有很多信息,因此用户必须向下滚动到它们,这很好。问题是,当滚动到足以在第一个选项卡中显示整个表格时,单击下一个选项卡会使页面跳回到表格的标题,因此用户必须向下滚动以显示表格,几个选项卡和长表很烦人。

到目前为止,这是我的.rmd:

---
title: "Tab Testing"
output: html_document
---

# Some random text {.tabset}

```{r, echo=FALSE}
knitr::opts_chunk$set(echo=FALSE)
# libraries
library(DT)
# bunch of random text
textFun <- function(n = 5000) {
  a <- do.call(paste0, replicate(5, sample(LETTERS, n, TRUE), FALSE))
  paste0(a, sprintf("%04d", sample(9999, n, TRUE)), sample(LETTERS, n, TRUE))
}

rText <- textFun(500)
```
Scroll down and see how the page skips when selecting Tab 2.

`r rText`

## Tab 1

```{r}
datatable(mtcars)
```
## Tab 2

```{r}
datatable(iris)
```

单击所有选项卡后,切换选项卡时页面将停留,因此我怀疑我需要一些JavaScript或JQuery才能加载表,然后再单击选项卡以使页面停留在第一个页面地点。我尝试在第一个r代码块之后添加此块,但是它什么也没做:

```{js}
$(document).ready(function() {
    $('table.display').DataTable();
} );
```

我在https://datatables.net/examples/basic_init/处闲逛,但没有发现任何对我有帮助(或如此识别)的东西。任何指向正确方向的指针都非常好。

1 个答案:

答案 0 :(得分:0)

您是否测试过在每个标签后添加一些内容?也许会减少跳过效果。

赞:

## Tab 1

```{r}
datatable(mtcars)
```

<div style="height:500px;display:block;"> </div>

## Tab 2

```{r}
datatable(iris)
```

<div style="height:500px;display:block;"> </div>