Title: Animate Shiny and R Markdown Content when it Comes into View
Version: 0.1.0
Description: Animate Shiny and R Markdown content when it comes into view using 'animate-css' effects thanks to 'jQuery AniView'.
License: MIT + file LICENSE
Encoding: UTF-8
LazyData: true
RoxygenNote: 7.1.0
Imports: jsonlite, htmltools
Suggests: shiny
URL: https://felixluginbuhl.com/aniview, https://github.com/lgnbhl/aniview
BugReports: https://github.com/lgnbhl/aniview/issues
NeedsCompilation: no
Packaged: 2020-03-31 13:54:51 UTC; Felix
Author: Félix Luginbuhl [aut, cre]
Maintainer: Félix Luginbuhl <felix.luginbuhl@protonmail.ch>
Repository: CRAN
Date/Publication: 2020-03-31 15:20:07 UTC

Animate an element when it comes into view

Description

Programmatically animate Shiny and R Markdown content when it comes into view.

Usage

aniview(element, animation, ...)

Arguments

element

An shiny or rmarkdown element.

animation

An animation from animate.css

...

Additional class element

Examples

library(shiny)

ui <- function(){
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.")
 })
}

if(interactive()) shinyApp(ui, server)


Use AniView

Description

Use AniView

Usage

use_aniview(animateThreshold = 0, scrollPollInterval = 20)

Arguments

animateThreshold

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.

scrollPollInterval

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.

Examples

library(shiny)

ui <- function(){
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.")
 })
}

if(interactive()) shinyApp(ui, server)