Я работаю над опросом удовлетворенности. Что довольно просто, или я так думал. Это всего лишь три смайлика. Я подумал, что было бы здорово, если бы пользователь получил отзыв о том, что на смайлика нажали. Хотя сообщение с уведомлением является отличным, я подумал, что было бы здорово, чтобы изображения воспроизводили простую анимацию при нажатии. Вот картинка png и test gif для счастливого смайлика. Этого будет достаточно, чтобы воспроизвести проблему, просто сохраните изображения в папке images.
Моя идея состояла в том, чтобы сначала просто использовать изображение png при запуске приложения, а затем при нажатии на изображение gif заменяет изображение png при каждом нажатии. Я пробовал бесчисленные способы и погуглил все, но я застрял. Если у кого-то есть идея, как решить эту проблему, вот самый базовый c код:
library(shiny)
library(shinyjs)
ui <- fluidPage(
useShinyjs(),
fluidRow(column(div(id = "happy", plotOutput("plot1")),width = 2,offset =1)
)
)
server <- function(input, output) {
output$plot1 <- renderImage({
filename <- normalizePath(file.path('./images', paste('happy','.png', sep='')))
list(src = filename, width=250, height=250)
}, deleteFile = FALSE)
onclick(
"happy",
{
#do stuff
print("clicked on happy")
showNotification(h4("Thanks!"), duration = 2,closeButton = FALSE, type = "message")
})
}
shinyApp(ui = ui, server = server)