【问题标题】:How to make bullets incrementally appear in flexdashboard storyboard for RMarkdown?如何使项目符号逐渐出现在 RMarkdown 的 flexdashboard 故事板中?
【发布时间】:2020-02-25 05:30:04
【问题描述】:

我想让 flexdashboard/storyboard 上的项目符号在单击右箭头时递增显示(演示样式)。这怎么可能实现?我猜有点Javascript,但我不知道从哪里开始。从 Rmd 导出的 Ioslides 具有增量项目符号的选项,但我希望能够在每张幻灯片的基础上执行此操作,并且无论如何我喜欢 flexdashboard/storyboard 更大的灵活性。

看到这个 MWE:

---
title: "How to increment?"
output: 
  flexdashboard::flex_dashboard:
    storyboard: true
---

### Slide 1

```{r}
hist(rnorm(100))
```

***

- I want these bullets
- to appear
- incrementally

### Slide 2

```{r}
hist(runif(100))
```

***

- I want these bullets
- to appear
- all at once
- when this slide
- comes up

【问题讨论】:

    标签: javascript r r-markdown flexdashboard


    【解决方案1】:

    对我有用的解决方案是下拉到 knitr 并使用该指令进行原始 html 输出。 Rest 有点丑陋的 javascript。 (并不是说 javascript 丑陋。只是我使用丑陋的方式来达到预期的结果。肯定有更清洁的方式来做同样的事情。)

    请注意,这是最小的示例 - 该解决方案当前处理整个文档上的 onclick 事件,而不考虑其他任何内容。所以如果你决定走这条路,你将不得不处理从第二张幻灯片返回等情况。

    ---
    title: "How to increment?"
    output: 
      flexdashboard::flex_dashboard:
        storyboard: true
    ---
    
    ### Slide 1
    
    ```{r}
    hist(rnorm(100))
    ```
    
    
    ***
    ```{r}
    knitr::raw_html("<ul>")
    knitr::raw_html("<li id='test1' style='display:none'> I want these bullets </li>")
    knitr::raw_html("<li id='test2' style='display:none'> to appear </li>")
    knitr::raw_html("<li id='test3' style='display:none'> incrementally </li>")
    
    knitr::raw_html("</ul>")
    ```
    
    
    ```{js}
    displayed = 0;
    display = function() {
      displayed++;
      id = "test" + displayed;
      el = document.getElementById(id);
      el.style.display = "list-item";
    }
    document.onclick=display
    ```
    
    ### Slide 2
    
    ```{r}
    hist(runif(100))
    ```
    
    ***
    
    - I want these bullets
    - to appear
    - all at once
    - when this slide
    - comes up
    

    【讨论】:

    • 谢谢。我认为这绝对是朝着正确方向迈出的一步。在大多数情况下,我只需要在第一次运行时阻止增量部分的“惊喜”因素,所以这可能就足够了。也就是说,我现在使用的是xaringan,它对演示更友好,因为它就是为此而设计的。
    猜你喜欢
    • 2017-01-27
    • 2017-05-28
    • 1970-01-01
    • 2016-02-16
    • 2023-03-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多