第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

在閃亮的反應(yīng)計(jì)時(shí)器無(wú)效時(shí),隨著文本值的變化,更改文本輸出的顏色

在閃亮的反應(yīng)計(jì)時(shí)器無(wú)效時(shí),隨著文本值的變化,更改文本輸出的顏色

慕沐林林 2023-09-18 16:00:25
我正在創(chuàng)建金融股票的儀表板。我有一個(gè)盒子,上面寫(xiě)著股票價(jià)格。股票價(jià)格每分鐘都在變化。我想要的是隨著股票價(jià)格的變化,顏色應(yīng)該短暫變化以反映變化的類型。例如,如果最后的價(jià)格低于之前的最后價(jià)格,我希望文本的顏色在變化時(shí)閃爍紅色,但返回到默認(rèn)顏色,即黑色。這與 Google 財(cái)經(jīng)上價(jià)格變化時(shí)發(fā)生的情況類似(例如,請(qǐng)參閱 jse:npn 的 google 搜索結(jié)果)這是我的代碼的最精簡(jiǎn)版本。library(quantmod)library(shiny)library(shinydashboard)library(shinydashboardPlus)library(shinyWidgets)ui <- dashboardPage(  dashboardHeader(title = "Example"),  dashboardSidebar(    sidebarMenu(      ID = "tabs",      menuItem(text = "Naspers", tabName = "tabNaspers", icon = icon("chart-line"))    )  ),  dashboardBody(    tags$head(tags$style(HTML('.fas { font-size: 36px; }                          .fas {                            vertical-align: middle;                          }                          #'              ))),    tabItems(      tabItem(tabName = "tabNaspers",              fluidRow(                column(                  width = 7,                  boxPlus(title = span("ALL SHARE", style = "color: rgb(128,128,128); font-size: 22px"),                          collapsible = TRUE,                          closable = FALSE,                          enable_dropdown = TRUE,                          dropdown_icon = "NULL",                          status = 'success',                          valueBoxOutput('npn_price', 12),                          valueBoxOutput('npn_day_change', 12),                          width = 4                  )                )              )              )    )  ))npn_close <- 203059.00server <- function(input, output, session){    autoInvalidate <- reactiveTimer(intervalMs = 60000)    output$npn_price <- renderUI({      autoInvalidate()    })
查看完整描述

1 回答

?
青春有我

TA貢獻(xiàn)1784條經(jīng)驗(yàn) 獲得超8個(gè)贊

當(dāng)然??傊覀兇鎯?chǔ)價(jià)格,獲取新的價(jià)格,如果價(jià)格下降,則使文本變?yōu)榧t色,然后我們快速再次運(yùn)行以產(chǎn)生閃光效果。

為了進(jìn)行測(cè)試,我添加了按鈕來(lái)模擬價(jià)格的上漲和下跌。我還讓它更頻繁地檢查更改。

可以在這一行更改閃光長(zhǎng)度:invalidateLater(1200)。

library(quantmod)

library(shiny)

library(shinydashboard)

library(shinydashboardPlus)

library(shinyWidgets)


ui <- dashboardPage(

    dashboardHeader(title = "Example"),


    dashboardSidebar(

        sidebarMenu(

            ID = "tabs",

            menuItem(text = "Naspers", tabName = "tabNaspers", icon = icon("chart-line"))

        )

    ),


    dashboardBody(


        tags$head(tags$style(HTML('.fas { font-size: 36px; }.fas {vertical-align: middle;} #'))),


        tabItems(


            tabItem(tabName = "tabNaspers",

                    fluidRow(


                        column(

                            width = 7,

                            boxPlus(title = span("ALL SHARE", style = "color: rgb(128,128,128); font-size: 22px"),

                                    collapsible = TRUE,

                                    closable = FALSE,

                                    enable_dropdown = TRUE,

                                    dropdown_icon = "NULL",

                                    status = 'success',

                                    valueBoxOutput('npn_price', 12),

                                    valueBoxOutput('npn_day_change', 12),

                                    width = 4

                            )


                        )


                    ),


                    #Buttons to simulate stock going up, so that we don't have to wait for the stock to actually go up or down

                    actionButton('btn_stockgoesup',   'Simulate Stock Going Up'),

                    actionButton('btn_stockgoesdown', 'Simulate Stock Going Down')


            )


        )

    )


)



npn_close <- 203059.00


server <- function(input, output, session){


    autoInvalidate <- reactiveTimer(intervalMs = 6000)


    #Buttons to simulate stock going up, so that we don't have to wait for the stock to actually go up or down

    observeEvent(input$btn_stockgoesup,   {npn_last_stored <<- 0  ;  print('At the next update the stock will simulate going up')})

    observeEvent(input$btn_stockgoesdown, {npn_last_stored <<- Inf;  print('At the next update the stock will simulate going down')})


    output$npn_price <- renderUI({


        autoInvalidate()


        npn_last <- getQuote("NPN.JO", what=yahooQF("Last Trade (Price Only)"))[, 2]


        #Handle when app first starts and there is no stored value to compare against

        if(exists('npn_last_stored') == FALSE) {npn_last_stored <<- npn_last}


        if(npn_last < npn_last_stored) {


            #Stock went down

            print('stock went down')

            npn_color <- 'rgb(220, 50, 20)'

            invalidateLater(1200)


        } else {


            #Stock went up / not changed

            print('stock went up / not changed')

            npn_color <- 'rgb(0, 0, 0)'


        }


        #Update stored value

        npn_last_stored <<- npn_last


        npn_change <- round((npn_last - npn_close) / npn_close, 4) * 100


        arrow_color <- ifelse(npn_change > 0, 'rgb(15, 157, 88)' ,'rgb(226, 74, 26)')


        npn_diff <- npn_last - npn_close


        npn_diff <- ifelse(npn_diff < 0, paste0('-', npn_diff), paste0('+', npn_diff))


        tags$div(HTML(paste0('<span style="color:', npn_color, '; font-size: 24px"><strong>', npn_last, '</strong></span>', '<span style="color:', arrow_color, '; font-size: 14px">', npn_diff, '</span>')))


    })



    output$npn_day_change <- renderUI({


        autoInvalidate()


        npn_last <- getQuote("NPN.JO", what=yahooQF("Last Trade (Price Only)"))[, 2]


        npn_change <- round((npn_last - npn_close) / npn_close, 4) * 100


        npn_change <- paste0(npn_change, "%")


        arrow_color <- ifelse(npn_change > 0, 'rgb(15, 157, 88)' ,'rgb(226, 74, 26)')


        arrow_icon <- ifelse(npn_change < 0, '"fas fa-caret-down"', '"fas fa-caret-up"')


        tags$div(HTML(paste0('<i class=', arrow_icon, ' style = "color:', arrow_color,';"></i><span style="color:', arrow_color,'; font-size: 24px"><strong>',npn_change, '</strong></span>')))


    })


}


shinyApp(ui, server)


查看完整回答
反對(duì) 回復(fù) 2023-09-18
  • 1 回答
  • 0 關(guān)注
  • 101 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)