以下是我的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立即开始播放?
感谢。
答案 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毫秒,以等待附加点击处理程序。