Use AniView

use_aniview(animateThreshold = 0, scrollPollInterval = 20)



integrer. +ve numbers delay the animation sequence until the specified number of pixels have come into view. -ve numbers will trigger the animation sequence prior to the element coming into view.


integrer. frequency at which user scrolling is 'polled' i.e. tested. This is in milliseconds and is an extension to jQuery's in-built 'scroll' event/handler.


if (interactive()) { library(shiny) shinyApp( ui = fluidPage( use_aniview(), # add use_aniview() in the UI aniview(h1("Shiny with AniView"), animation = "fadeInUp"), aniview(textOutput("text"), animation = "zoomIn") ), server <- function(input, output, session){ output$text <- renderText({ print("An animated text.") }) } ) }