在下面的应用程序中,我显示了两个图,每次我按下相关的actionbutton()
时,我就会在全屏中得到它们。在全屏模式下,显示第二个actionbutton()
以转义全屏,然后再次隐藏。但我不能让它工作的两个情节,而不是一个基于这个。
library(shiny)
library(ggplot2)
js <- "
function openFullscreen(elem, plotselector) {
$('#exitbtn').show();
$(plotselector).addClass('fullscreen');
if (elem.requestFullscreen) {
elem.requestFullscreen();
} else if (elem.mozRequestFullScreen) { /* Firefox */
elem.mozRequestFullScreen();
} else if (elem.webkitRequestFullscreen) { /* Chrome, Safari and Opera */
elem.webkitRequestFullscreen();
} else if (elem.msRequestFullscreen) { /* IE/Edge */
elem.msRequestFullscreen();
}
}
function exitFullscreen() {
$('#exitbtn').hide();
if (document.exitFullscreen) {
document.exitFullscreen();
} else if (document.webkitExitFullscreen) { /* Safari */
document.webkitExitFullscreen();
} else if (document.msExitFullscreen) { /* IE11 */
document.msExitFullscreen();
}
}
function openFullscreen(elem, plotselector) {
$('#exitbtn2').show();
$(plotselector).addClass('fullscreen2');
if (elem.requestFullscreen) {
elem.requestFullscreen();
} else if (elem.mozRequestFullScreen) { /* Firefox */
elem.mozRequestFullScreen();
} else if (elem.webkitRequestFullscreen) { /* Chrome, Safari and Opera */
elem.webkitRequestFullscreen();
} else if (elem.msRequestFullscreen) { /* IE/Edge */
elem.msRequestFullscreen();
}
}
function exitFullscreen() {
$('#exitbtn2').hide();
if (document.exitFullscreen) {
document.exitFullscreen();
} else if (document.webkitExitFullscreen) { /* Safari */
document.webkitExitFullscreen();
} else if (document.msExitFullscreen) { /* IE11 */
document.msExitFullscreen();
}
}
"
css <- "
#exitbtn {
display: none;
}
.fullscreen {
height: 90% !important;
margin: 0 !important;
}
#exitbtn2 {
display: none;
}
.fullscreen2 {
height: 90% !important;
margin: 0 !important;
}
"
ui <- fluidPage(
tags$head(
tags$script(HTML(js)),
tags$style(HTML(css))
),
br(),
fluidRow(
column(
width = 3,
actionButton(
"fs", "Full screen",
onclick = "openFullscreen(document.getElementById('frame'), '#ggplot');"
)
),
column(
width = 9,
div(
id = "frame",
plotOutput("ggplot"),
actionButton(
"exitbtn", "Exit",
onclick = "exitFullscreen(); $('#ggplot').removeClass('fullscreen');"
)
)
)
),
fluidRow(
column(
width = 3,
actionButton(
"fs2", "Full screen",
onclick = "openFullscreen(document.getElementById('frame'), '#ggplot2');"
)
),
column(
width = 9,
div(
id = "frame",
plotOutput("ggplot2"),
actionButton(
"exitbtn2", "Exit",
onclick = "exitFullscreen(); $('#ggplot2').removeClass('fullscreen');"
)
)
)
)
)
server <- function(input, output, session){
output[["ggplot"]] <- renderPlot({
ggplot(iris, aes(Sepal.Length, Sepal.Width)) + geom_point()
})
output[["ggplot2"]] <- renderPlot({
ggplot(iris, aes(Sepal.Length, Sepal.Width)) + geom_point()
})
}
shinyApp(ui, server)
不要定义名称相同的JavaScript函数。也不要在HTML中使用重复的ID。
js <- "
function openFullscreen(elem, plotselector) {
$(plotselector).addClass('fullscreen');
if (elem.requestFullscreen) {
elem.requestFullscreen();
} else if (elem.mozRequestFullScreen) { /* Firefox */
elem.mozRequestFullScreen();
} else if (elem.webkitRequestFullscreen) { /* Chrome, Safari and Opera */
elem.webkitRequestFullscreen();
} else if (elem.msRequestFullscreen) { /* IE/Edge */
elem.msRequestFullscreen();
}
}
function exitFullscreen() {
if (document.exitFullscreen) {
document.exitFullscreen();
} else if (document.webkitExitFullscreen) { /* Safari */
document.webkitExitFullscreen();
} else if (document.msExitFullscreen) { /* IE11 */
document.msExitFullscreen();
}
}"
fluidRow(
column(
width = 3,
actionButton(
"fs", "Full screen",
onclick = "$('#exitbtn').show(); openFullscreen(document.getElementById('frame'), '#ggplot');"
)
),
column(
width = 9,
div(
id = "frame",
plotOutput("ggplot"),
actionButton(
"exitbtn", "Exit",
onclick = "exitFullscreen(); $('#ggplot').removeClass('fullscreen');"
)
)
)
),
fluidRow(
column(
width = 3,
actionButton(
"fs2", "Full screen",
onclick = "$('#exitbtn2').show(); openFullscreen(document.getElementById('frame2'), '#ggplot2');"
)
),
column(
width = 9,
div(
id = "frame2",
plotOutput("ggplot2"),
actionButton(
"exitbtn2", "Exit",
onclick = "exitFullscreen(); $('#ggplot2').removeClass('fullscreen');"
)
)
)
)
不需要CSS类FullScreen2
。
我的应用程序出了问题,按下任何一个按钮都会崩溃。 它在我的logcat中给出了这个错误: E/AndroidRuntime:致命异常:main process:com.example.admin.myapplication,PID:14892 Android.content.res.resources$NOTFoundException:String resource ID#0x3b5at and
显示计数器当前值的react组件。 计数器应该从0开始。应该有一个添加1的按钮。还应该有一个减去1的按钮。 我无法理解这个问题,因为我遗漏了什么或一些错误的语法。 我运行代码时出现的错误 /runner/node_modules/babel core/lib/transformation/file/index。js:590投掷错误^ /home/codewarrior/index.js:意外令牌(
我可以毫无问题地实现模态抽屉。但是我想在同一个屏幕上添加两个模态抽屉,一个从左边,一个从右边。在xml中很容易做到,但是我不知道如何在Jetpack中做到这一点。
问题内容: 语境 我正在创建一个数据库环境,在该环境中,我想以几种不同的模式拆分数据以用于不同的用户组。但是,由于其中一个数据库包含公共实体,因此应该共享给所有人。 假设数据库: DB1-通用实体; 车轮实体 DB2-组“ A”; 汽车实体 DB3-组“ B”; 摩托车实体 我有三个不同的项目: 项目1: 车轮豆 专案2: 汽车制造商 专案3: 摩托车构造者 问题 我正在尝试从项目/方案(2,“
我是移动开发的新手,我正在使用Xamarin工作室开发一个简单的应用程序,并在我的页面上添加了几个按钮。我注意到,当我在模拟器(Android 5.0.1 - API 21)中运行时,所有按钮文本都以大写字母显示。 我已经关注了为什么Lollipop上的按钮文本被强制全部大写?并尝试添加<代码> 还检查了为什么我的按钮文本被强制为Lollipop上的所有大写字母?Android 5.0(Lolli
我有两个应用程序:同事和服务,每个都有自己的模型 在coworkers models.py中,我可以“从services.models导入服务”。 当我尝试在services models.py中“from coworkers.models import Status”时,会收到以下错误消息: 回溯(最近一次调用):文件“/Users/lucas/Documents/projetos/cwk-ma