Learn R Programming

shinyanimate

shinyanimate package is an R wrapper for animate.css. It allows user to easily add animations to any UI element in shiny app using the elements id.

Installation

To install the stable CRAN version:

install.packages("shinyanimate")

To install the latest development version from GitHub:

library(devtools)
install_github('Swechhya/shinyanimate')

Example code

Add animation after event is observed:

library(shiny)
library(shinyanimate)
ui <- fluidPage(
  withAnim(),
  div( id = 'shinyLogo', tags$img(src= "http://hexb.in/hexagons/shiny.png", width = "100px", height = "100px")),
  actionButton(inputId = "button", label = "Animate")
)
server <- function(input, output, session) {
  observeEvent(input$button,{
    startAnim(session, 'shinyLogo', 'shakeX')
  })
}
shinyApp(ui, server)

Add animation on mouse hover:

library(shiny)
library(shinyanimate)
ui <- fluidPage(
  withAnim(),
  div( id = 'shinyLogo', tags$img(src= "http://hexb.in/hexagons/shiny.png", width = "100px", height = "100px"))
)
server <- function(input, output, session) {
  observe(addHoverAnim(session, 'shinyLogo', 'pulse'))
}
shinyApp(ui, server)

Add animation when the element comes into view after scrolling:

library(shiny)
library(shinyanimate)
ui <- fluidPage(
    withAnim(),
    tags$h1('Scroll below to see an animation'),
    br(), br(), br(), br(), br(), br(), br(),
    br(), br(), br(), br(), br(), br(), br(),
    div( id = 'shinyLogo', tags$img(src= "http://hexb.in/hexagons/shiny.png", width = "100px", height = "100px"))
)
server <- function(input, output, session) {
    observe(addScrollAnim(session, 'shinyLogo', 'bounceInRight'))
}
shinyApp(ui, server)

Copy Link

Version

Install

install.packages('shinyanimate')

Monthly Downloads

766

Version

0.4.0

License

MIT + file LICENSE

Issues

Pull Requests

Stars

Forks

Maintainer

Swechhya Bista

Last Published

October 30th, 2023

Functions in shinyanimate (0.4.0)

addHoverAnim

Add animation on mouse hover for UI element.
addScrollAnim

Add animation on scroll for UI element.
startAnim

Start an animation
withAnim

Set up Shiny app to use animation