微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使 slickR 轮播响应式

如何解决使 slickR 轮播响应式

这是一个 link 到两个幻灯片 slickr carousel,它在桌面上运行良好,但在 iphone 上查看时,图像被截断了。即它没有响应。

enter image description here

我如何将 slickr 的旋转木马与图像一起使用,并使其在桌面和移动设备上都能正常工作而不会截断图像?

我需要手动添加响应行为吗?最初的 JS page 谈到了它,但我不确定如何将其翻译成 R。

R 脚本

library(shiny)
library(slickr)

# Test #########################################################################
gic_changed_filenames <- c( "/home/law/whatbank_website/static/fb/img/gic1-5_yield_curve_d9bf51fdc3ec3cec.png","/home/law/whatbank_website/static/fb/img/gic1-5_yield_curve_fb2482d0f9923086.png")
################################################################################

num_slides <- length(gic_changed_filenames)
# Capture everything after img/ and add to link
chart_names <- paste0("http://whatbank.ca/fb/img/",sub(".*img/","",gic_changed_filenames))

ui <- fluidPage(
  tags$head(
    tags$style(HTML("
    .arrows {
      height: 20px;
    }
    .slick-prev {
      left: 230px;  # moves right
    }
    .slick-next {
      left: 250px;  # moves right
    }
    "))
  ),fluidRow(
    column(6,),column(2,tags$div(class="arrows"
           )),column(4)),slickrOutput("slick_output")
)

server <- function(input,output,session) {
   output$slick_output <- renderslickr({
    slickr(obj = chart_names,height = 300,width = "100%") +
      settings(dots = TRUE,appendArrows = '.arrows')
  })
}

shinyApp(ui,server)

解决方法

默认情况下,.slick-slide img 的宽度属性设置为“自动”。您可以使用相对 css 单位 (% / vw / vh) 覆盖此设置以重新缩放图像:

编辑:消除了列混乱并计算了箭头的相对位置。

library(shiny)
library(slickR)

# Test #########################################################################
gic_changed_filenames <- c( "/home/law/whatbank_website/static/fb/img/gic1-5_yield_curve_d9bf51fdc3ec3cec.png","/home/law/whatbank_website/static/fb/img/gic1-5_yield_curve_fb2482d0f9923086.png")
################################################################################

num_slides <- length(gic_changed_filenames)
# Capture everything after img/ and add to link
chart_names <- paste0("http://whatbank.ca/fb/img/",sub(".*img/","",gic_changed_filenames))

ui <- fluidPage(
  tags$head(
    tags$style(HTML("
    .arrows {
      height: 20px;
    }
    .slick-prev {
      left: calc(50% - 30px);
    }
    .slick-next {
      right: calc(50% - 30px);
    }
    .slick-slide img {
    width: 100% !important;
    }
    "))
  ),fluidRow(
    column(12,tags$div(class="arrows"))
    ),slickROutput("slick_output")
)

server <- function(input,output,session) {
  output$slick_output <- renderSlickR({
    slickR(obj = chart_names,height = "50%") +
      settings(dots = TRUE,appendArrows = '.arrows')
  })
}

shinyApp(ui,server)

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?