4

Is there any way to scroll to the top of the page in ShinyDashboard on a button click?

I've added the following lines in ui.R under dashboardSidebar( :

useShinyjs(), 
extendShinyjs(text = "shinyjs.button = function() {document.body.scrollTop = 0;}"),

and the following in server.R under observeEvent(input$button, {:

js$button()

This seems to work in the app preview in RStudio, but not in browser.

DeanAttali
  • 25,268
  • 10
  • 92
  • 118
HGupta
  • 127
  • 8

1 Answers1

11

Using the first Google hit for "javascript scroll to top", the most upvoted answer is window.scrollTo(x-coord, y-coord);

I tried replacing your document.body.scrollTop = 0; with window.scrollTo(0, 0) and it worked.

FYI, if you only have that one very simple function to define, you can also get away with shinyjs::runjs("window.scrollTo(0, 50)") in the server code

DeanAttali
  • 25,268
  • 10
  • 92
  • 118