Animate 'shiny' Elements when They Scroll into View using the 'scrollrevealjs' Library

Allows the user to animate 'shiny' elements when scrolling to view them. The animations are activated using the 'scrollrevealjs' library. See < https://scrollrevealjs.org/> for more information.


scrollrevealR

CRAN_Status_Badge

CRAN_time_from_release

metacrandownloads

metacrandownloads

Travis buildstatus

Rbadge

scrollrevealR allows you to animate shiny elements when they scroll into view using the scrollrevealjs library.


Installation

You can install the scrollrevealR package from CRAN with:


install.packages("scrollrevealR")

You can install the development version of scrollrevealR from GitHub with:

# install.packages("devtools")
devtools::install_github("feddelegrand7/scrollrevealR")

Example

In order to use scrollrevealR, you only need to use one function:

  • scroll_reveal(): allows you to animate one or many shiny elements as they scroll into view.

Important: when you apply the scroll_reveal() function on Shiny Tables, they tend to disappear when you scroll down to check the last observations of the table which is annoying. In order to deal with this issue, you can use the reset = FALSE argument which will trigger an animation only once.

Below an example of a simple shiny app that uses the scrollrevealR package:

library(shiny)
library(scrollrevealR)

ui <- fluidPage(

  h1("Mtcars Plot"),

  br(), br(),

  plotOutput(outputId = "plt1"),

  br(), br(),

  h1("Iris Plot"),
  
  plotOutput(outputId = "plt2"),

  br(), br(),

  h1("ChickWeight Plot"),

  plotOutput(outputId = "plt3"),

  # Using the scroll_reveal() function -------------------------------------------
  scroll_reveal(target = c("#plt1", "#plt2", "#plt3"), duration = 2000, distance = "100px"),

  scroll_reveal(target = "h1", duration = 2000, distance = "100px"),
  # ----------------------------------------------------------------------------- 

  # Making some space at the end

  br(), br(), br(), br(), br(), br(), br(), br(), br(), br(), br(), br()

)

server <- function(input, output) {


output$plt1 <-  renderPlot({

    plot(mtcars)

  })


output$plt2 <- renderPlot({


  plot(iris)

})


output$plt3 <- renderPlot({


  plot(ChickWeight)


})


}

shinyApp(ui = ui, server = server)

Commercial License

If you use the scrollrevealR package for commercial usage, You can buy a Commercial License from the scrollreveal website.

Code of Conduct

Please note that the scrollrevealR project is released with a Contributor Code of Conduct. By contributing to this project, you agree to abide by its terms.

Reference manual

It appears you don't have a PDF plugin for this browser. You can click here to download the reference manual.

install.packages("scrollrevealR")

0.2.0 by Mohamed El Fodil Ihaddaden, 6 years ago


https://github.com/feddelegrand7/scrollrevealR


Report a bug at https://github.com/feddelegrand7/scrollrevealR/issues


Browse source code at https://github.com/cran/scrollrevealR


Authors: Mohamed El Fodil Ihaddaden [aut, cre] , Julian Lloyd [ctb, cph] (scrollreveal.js library developer)


Documentation:   PDF Manual  


MIT + file LICENSE license


Imports htmltools, glue

Suggests knitr, rmarkdown


See at CRAN