使用R'停止转盘自动播放;s bsplus、Shining和JavaScript

使用R'停止转盘自动播放;s bsplus、Shining和JavaScript,javascript,r,shiny,carousel,Javascript,R,Shiny,Carousel,使用@YBS建议将“bs_旋转木马(…)放入渲染器中” 这是我的尝试。幻灯片渲染和自动播放首先处于关闭状态。但是,单击右V形,自动播放开始 library("shiny") library("shinyjs") library("bsplus") # Stop autoplay # https://stackoverflow.com/questions/26133618/how-to-stop-bootstrap-carousel-f

使用@YBS建议将“bs_旋转木马(…)放入渲染器中” 这是我的尝试。幻灯片渲染和自动播放首先处于关闭状态。但是,单击右V形,自动播放开始

library("shiny")
library("shinyjs")
library("bsplus")

# Stop autoplay
# https://stackoverflow.com/questions/26133618/how-to-stop-bootstrap-carousel-from-autosliding

jscode <- "
shinyjs.init = function() {
  $('.carousel').carousel({ interval: false });
}"

ui <- fluidPage(
  
  shinyjs::useShinyjs(),
  extendShinyjs(text = jscode, functions = c()),
  
  # Application title
  titlePanel("Carousel Demo"),
  
  uiOutput("carousel")
)

server <- shinyServer(function(input, output) {
  output$carousel <- renderUI({
    bs_carousel(id = "images", use_indicators = TRUE) %>%
      bs_append(
        content = bs_carousel_image(src = "https://placehold.it/900x500/3c8dbc/ffffff&text=Merry")
      ) %>%
      bs_append(
        content = bs_carousel_image(src = "https://placehold.it/900x500/3c8dbc/ffffff&text=Christmas")
      ) %>%
      bs_append(
        content = bs_carousel_image(src = "https://placehold.it/900x500/3c8dbc/ffffff&text=To")
      ) %>%
      bs_append(
        content = bs_carousel_image(src = "https://placehold.it/900x500/3c8dbc/ffffff&text=All")
      ) 
  })
  
})

# Run the application
shinyApp(ui = ui, server = server)
库(“闪亮”)
图书馆(“shinyjs”)
图书馆(“bsplus”)
#停止自动播放
# https://stackoverflow.com/questions/26133618/how-to-stop-bootstrap-carousel-from-autosliding
jscode%
B_追加(
内容=行李传送带图像(src=”https://placehold.it/900x500/3c8dbc/ffffff&text=All")
) 
})
})
#运行应用程序
shinyApp(用户界面=用户界面,服务器=服务器)
原始问题 我正在使用R的bsplus包中的旋转木马。我想停止自动播放。已经提到了各种解决办法

我正在尝试执行下面的其中一项,但没有成功

library("shiny")
library("bsplus")

# Stop autoplay
# https://stackoverflow.com/questions/26133618/how-to-stop-bootstrap-carousel-from-autosliding

jscode <- "
shinyjs.init = function() {
  $('.carousel').carousel({ interval: false });
}"

ui <- shinyUI(fluidPage(
  
  shinyjs::useShinyjs(),
  extendShinyjs(text = jscode, functions = c()),

  # Application title
  titlePanel("Carousel Demo"),
),

bs_carousel(id = "images", use_indicators = TRUE) %>%
  bs_append(
    content = bs_carousel_image(src = "https://placehold.it/900x500/3c8dbc/ffffff&text=Merry")
  ) %>%
  bs_append(
    content = bs_carousel_image(src = "https://placehold.it/900x500/3c8dbc/ffffff&text=Christmas")
  ) %>%
  bs_append(
    content = bs_carousel_image(src = "https://placehold.it/900x500/3c8dbc/ffffff&text=To")
  ) %>%
  bs_append(
    content = bs_carousel_image(src = "https://placehold.it/900x500/3c8dbc/ffffff&text=All")
  ) 

)

server <- shinyServer(function(input, output) {
  
})

# Run the application
shinyApp(ui = ui, server = server)
库(“闪亮”)
图书馆(“bsplus”)
#停止自动播放
# https://stackoverflow.com/questions/26133618/how-to-stop-bootstrap-carousel-from-autosliding
jscode%
B_追加(
内容=行李传送带图像(src=”https://placehold.it/900x500/3c8dbc/ffffff&text=Christmas")
) %>%
B_追加(
内容=行李传送带图像(src=”https://placehold.it/900x500/3c8dbc/ffffff&text=To")
) %>%
B_追加(
内容=行李传送带图像(src=”https://placehold.it/900x500/3c8dbc/ffffff&text=All")
) 
)

服务器自动播放不会在
bs_carousel()
中停止,除非鼠标指针悬停在活动幻灯片上。但是,下面的代码说明可以在
shinydashboardPlus
软件包的
carousel()
中关闭自动播放

library(shiny)
library(shinydashboardPlus)
library(DT)

jscode <-"
$(document).ready(function(){
            $('#mycarousel').carousel( { interval:  false } );
});"

shinyApp(
  ui = dashboardPage(
    header = dashboardHeader(),
    sidebar = dashboardSidebar(),
    body = dashboardBody(
      tags$head(
        tags$style(HTML("
      #mycarousel {
        width:900px;
        height:600px;
      }
    .carousel-control{
      color:#FF0000;
    }
    "))
      ),
      tags$head(tags$script(HTML(jscode))),
      carousel(
        id = "mycarousel",
        carouselItem(
          DTOutput("show_iris_dt")
        ),
        carouselItem(
          caption = "An image file",
          tags$img(src = "YBS.png")
        ),
        carouselItem(
          caption = "Item 3",
          tags$img(src = "http://placehold.it/900x500/39CCCC/ffffff&text=Happy+New+Year")
        )
      )
    ),
    title = "Carousel Demo"
  ),
  server = function(input, output) {
    output$show_iris_dt <- renderDT({
      datatable(iris)
    })
  }
)
库(闪亮)
图书馆(shinydashboardPlus)
图书馆(DT)

jscode如果您将
bs_carousel(…)
放在服务器端的
renderUI
中,则自动播放不启用。这首先是有效的。但如果单击“下一个”V形,则自动播放开始。请参阅原始帖子中的新代码。这似乎是一个在不久前修复的bug。我不确定它是否仍然是一个bug。最好放置一个播放/暂停按钮,以便用户可以单击播放,然后再次单击以暂停。如果我不知道如何以编程方式暂停,如何添加暂停按钮?请按原样尝试您的代码,“carousel中的错误(id=“mycarousel”,carouselItem(DTOutput(“show_iris_dt”),:找不到函数“carousel”抱歉,您需要安装shinydashboardPlus。这是一个与bsplus完全不同的旋转木马解决方案?是的。我无法停止bsplus中的自动播放;这可能是一个错误。