R Shiny sliderInput按钮--->页面打开时动画

时间:2015-08-30 00:47:37

标签: javascript r shiny

以下是我的Shiny应用程序中UI部分开头的代码:

shinyUI(navbarPage("Boston Food Inspections", id="nav",
  tabPanel("Interactive map",
           div(class="outer",

               tags$head(
               includeCSS("styles.css")
               ),
           leafletOutput("map", width="100%", height = "100%"),

           absolutePanel(id ="controls", class ="panel panel-default", fixed=TRUE,
                         draggable=TRUE, top=60, left='auto', right=20, bottom='auto',
                         width=300, height='auto',
                         checkboxGroupInput("status", h4("Business License Status"), bstatus,
                                            selected = "Active"),
                         checkboxGroupInput("violations", h4("Violation"), violationType, 
                                            selected="Rodents"),
                         sliderInput('period', h4("Select Time Period"),
                                     min = 2008,
                                     max = 2015,
                                     value = c(2008,2008),
                                     sep="", step=1, ticks=FALSE,animate=animationOptions(loop=T)), round=TRUE
                        )
           )
  ),

现在我的动画选项指定滑块将有一个播放/暂停按钮。但是,只有用户打开应用程序时,sliderInput才会开始播放。我想知道是否有人知道改变javascript的简单方法,以便在页面加载后sliderInput立即开始播放?

感谢。

1 个答案:

答案 0 :(得分:4)

使用jQuery加载页面后,您可以点击按钮。这是一个例子:

server <- function(input, output) {
}

ui <- fluidPage(
        sliderInput("obs", "Number of observations:",
                    min = 10, max = 500, value = 100,
                    animate=T),
        tags$script("$(document).ready(function(){
                        setTimeout(function() {$('.slider-animate-button').click()},10);
                    });")
                )

shinyApp(ui = ui, server = server)

tags$script部分点击按钮。我添加了一个setTimeout来将点击延迟10毫秒,以等待附加点击处理程序。