Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

165
Visualizações
r introjs modal no funciona cuando se desplaza hacia abajo

Tenemos una gran aplicación brillante que usa múltiples secciones apiladas horizontalmente. En la última sección (parte inferior de la página) tengo un modal. Dentro de este modal, quiero usar rintrojs para guiar al usuario (dentro del modal).

La introjs no parece funcionar cuando se abre el modal en la parte inferior de la página. Se mostrará la superposición gris, pero los elementos no se resaltarán o se mostrará el botón emergente.

Aquí hay un ejemplo mínimo (editado de r introjs bsModal ):

 library(rintrojs) library(shiny) library(shinydashboard) library(shinyBS) intro_df <- data.frame(element = c('#plot_box', '#bttn2_intro', '#box', '#plot', '#shiny-modal'), intro = c('test plot_box', 'test bttn2', 'test box', 'plot', 'test modal')) ui <- shinyUI(fluidPage( dashboardPage(dashboardHeader(title = "Test"), dashboardSidebar(sidebarMenu(menuItem("item1", tabName = "item1"))), dashboardBody(tabItems(tabItem("item1", rep(br(), 10000), # remove this line and introjs will work actionButton("bttn", "start intro"))))), introjsUI() )) server <- shinyServer(function(input, output, session) { output$plot <- renderPlot({ plot(rnorm(50)) }) output$plot_box <- renderUI({ box(id = 'box', div(id = "bttn2_intro", actionButton('bttn2', 'dummy')), plotOutput('plot'), width = '100%' ) }) observeEvent(input$bttn,{ showModal(modalDialog(uiOutput('plot_box'))) }) observeEvent(input$bttn2, { introjs(session, options = list(steps = intro_df)) }) }) shinyApp(ui = ui, server = server)

Cualquier ayuda con este problema sería apreciada.

about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

No es realmente una solución, pero puede obligar a la aplicación a desplazarse hacia arriba antes de que se muestre el modal y funcionará. La desventaja es que cuando el modal se cierra, necesitamos desplazarnos hacia abajo, para hacer eso, necesitamos un botón de acción que active estas acciones, por lo que la opción de usar el cierre fácil en el modal no funcionará en este caso.

APLICACIÓN

 library(rintrojs) library(shiny) library(shinydashboard) library(shinyBS) library(shinyjs) intro_df <- data.frame( element = c("#plot_box", "#bttn2_intro", "#box", "#plot", "#shiny-modal"), intro = c("test plot_box", "test bttn2", "test box", "plot", "test modal") ) ui <- dashboardPage( dashboardHeader(title = "Test"), dashboardSidebar(sidebarMenu(menuItem("item1", tabName = "item1"))), dashboardBody( tabItems( tabItem( "item1", introjsUI(), shinyjs::useShinyjs(), rep(br(), 10000), # remove this line and introjs will work actionButton("bttn", "start intro") ) ) ) ) server <- shinyServer(function(input, output, session) { output$plot <- renderPlot({ plot(rnorm(50)) }) output$plot_box <- renderUI({ box( id = "box", div(id = "bttn2_intro", actionButton("bttn2", "dummy")), plotOutput("plot"), width = "100%" ) }) observeEvent(input$bttn, { shinyjs::runjs("window.scrollTo(0, 0)") showModal( modalDialog( uiOutput("plot_box"), footer = actionButton( "close_modal", "Dismiss" ), easyClose = FALSE ) ) }) observeEvent(input$bttn2, { introjs(session, options = list(steps = intro_df)) }) observeEvent(input$close_modal, { shinyjs::runjs("window.scrollTo(0, document.body.scrollHeight)") removeModal() }) }) shinyApp(ui = ui, server = server)

ingrese la descripción de la imagen aquí

about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda